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 */ 83 84