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