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