Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
[wrt350n-kernel.git] / Documentation / scsi / dpti.txt
blobf36dc0e7c8dafb4d1c4b9617fd772b86cedda0f6
1  /* TERMS AND CONDITIONS OF USE
2  * 
3  * Redistribution and use in source form, with or without modification, are
4  * permitted provided that redistributions of source code must retain the
5  * above copyright notice, this list of conditions and the following disclaimer.
6  * 
7  * This software is provided `as is' by Adaptec and
8  * any express or implied warranties, including, but not limited to, the
9  * implied warranties of merchantability and fitness for a particular purpose,
10  * are disclaimed. In no event shall Adaptec be
11  * liable for any direct, indirect, incidental, special, exemplary or
12  * consequential damages (including, but not limited to, procurement of
13  * substitute goods or services; loss of use, data, or profits; or business
14  * interruptions) however caused and on any theory of liability, whether in
15  * contract, strict liability, or tort (including negligence or otherwise)
16  * arising in any way out of the use of this driver software, even if advised
17  * of the possibility of such damage.
18  * 
19  ****************************************************************
20  * This driver supports the Adaptec I2O RAID and DPT SmartRAID V I2O boards.
21  *
22  * CREDITS:
23  * The original linux driver was ported to Linux by Karen White while at 
24  * Dell Computer.  It was ported from Bob Pasteur's (of DPT) original 
25  * non-Linux driver.  Mark Salyzyn and Bob Pasteur consulted on the original
26  * driver. 
27  * 
28  * 2.0 version of the driver by Deanna Bonds and Mark Salyzyn.
29  *
30  * HISTORY:
31  * The driver was originally ported to linux version 2.0.34 
32  *
33  * V2.0 Rewrite of driver.  Re-architectured based on i2o subsystem.
34  *   This was the first full GPL version since the last version used
35  *   i2osig headers which were not GPL.  Developer Testing version.
36  * V2.1 Internal testing
37  * V2.2 First released version
38  *
39  * V2.3 
40  *   Changes:
41  *      Added Raptor Support
42  *      Fixed bug causing system to hang under extreme load with 
43  *         management utilities running (removed GFP_DMA from kmalloc flags)
44  *
45  *
46  * V2.4 First version ready to be submitted to be embedded in the kernel
47  *   Changes: 
48  *      Implemented suggestions from Alan Cox
49  *      Added calculation of resid for sg layer
50  *      Better error handling
51  *         Added checking underflow conditions 
52  *         Added DATAPROTECT checking
53  *         Changed error return codes
54  *         Fixed pointer bug in bus reset routine
55  *      Enabled hba reset from ioctls (allows a FW flash to reboot and use the new
56  *         FW without having to reboot)
57  *      Changed proc output
58  *
59  * TODO:
60  *      Add 64 bit Scatter Gather when compiled on 64 bit architectures
61  *      Add sparse lun scanning 
62  *      Add code that checks if a device that had been taken offline is
63  *         now online (at the FW level) when test unit ready or inquiry 
64  *         command from scsi-core
65  *      Add proc read interface
66  *         busrescan command
67  *         rescan command
68  *      Add code to rescan routine that notifies scsi-core about new devices
69  *      Add support for C-PCI (hotplug stuff)
70  *      Add ioctl passthru error recovery
71  *
72  * NOTES:
73  * The DPT card optimizes the order of processing commands.  Consequently,
74  * a command may take up to 6 minutes to complete after it has been sent
75  * to the board.  
76  *
77  * The files dpti_ioctl.h dptsig.h osd_defs.h osd_util.h sys_info.h are part of the
78  * interface files for Adaptec's management routines.  These define the structures used
79  * in the ioctls.  They are written to be portable.  They are hard to read, but I need
80  * to use them 'as is' or I can miss changes in the interface.
81  *
82  */