blob: f36dc0e7c8dafb4d1c4b9617fd772b86cedda0f6 [file] [log] [blame]
/* TERMS AND CONDITIONS OF USE
*
* Redistribution and use in source form, with or without modification, are
* permitted provided that redistributions of source code must retain the
* above copyright notice, this list of conditions and the following disclaimer.
*
* This software is provided `as is' by Adaptec and
* any express or implied warranties, including, but not limited to, the
* implied warranties of merchantability and fitness for a particular purpose,
* are disclaimed. In no event shall Adaptec be
* liable for any direct, indirect, incidental, special, exemplary or
* consequential damages (including, but not limited to, procurement of
* substitute goods or services; loss of use, data, or profits; or business
* interruptions) however caused and on any theory of liability, whether in
* contract, strict liability, or tort (including negligence or otherwise)
* arising in any way out of the use of this driver software, even if advised
* of the possibility of such damage.
*
****************************************************************
* This driver supports the Adaptec I2O RAID and DPT SmartRAID V I2O boards.
*
* CREDITS:
* The original linux driver was ported to Linux by Karen White while at
* Dell Computer. It was ported from Bob Pasteur's (of DPT) original
* non-Linux driver. Mark Salyzyn and Bob Pasteur consulted on the original
* driver.
*
* 2.0 version of the driver by Deanna Bonds and Mark Salyzyn.
*
* HISTORY:
* The driver was originally ported to linux version 2.0.34
*
* V2.0 Rewrite of driver. Re-architectured based on i2o subsystem.
* This was the first full GPL version since the last version used
* i2osig headers which were not GPL. Developer Testing version.
* V2.1 Internal testing
* V2.2 First released version
*
* V2.3
* Changes:
* Added Raptor Support
* Fixed bug causing system to hang under extreme load with
* management utilities running (removed GFP_DMA from kmalloc flags)
*
*
* V2.4 First version ready to be submitted to be embedded in the kernel
* Changes:
* Implemented suggestions from Alan Cox
* Added calculation of resid for sg layer
* Better error handling
* Added checking underflow conditions
* Added DATAPROTECT checking
* Changed error return codes
* Fixed pointer bug in bus reset routine
* Enabled hba reset from ioctls (allows a FW flash to reboot and use the new
* FW without having to reboot)
* Changed proc output
*
* TODO:
* Add 64 bit Scatter Gather when compiled on 64 bit architectures
* Add sparse lun scanning
* Add code that checks if a device that had been taken offline is
* now online (at the FW level) when test unit ready or inquiry
* command from scsi-core
* Add proc read interface
* busrescan command
* rescan command
* Add code to rescan routine that notifies scsi-core about new devices
* Add support for C-PCI (hotplug stuff)
* Add ioctl passthru error recovery
*
* NOTES:
* The DPT card optimizes the order of processing commands. Consequently,
* a command may take up to 6 minutes to complete after it has been sent
* to the board.
*
* The files dpti_ioctl.h dptsig.h osd_defs.h osd_util.h sys_info.h are part of the
* interface files for Adaptec's management routines. These define the structures used
* in the ioctls. They are written to be portable. They are hard to read, but I need
* to use them 'as is' or I can miss changes in the interface.
*
*/