Merge branch 'rework/printk_safe-removal' into for-linus
[platform/kernel/linux-rpi.git] / Documentation / scsi / dpti.rst
1 .. SPDX-License-Identifier: GPL-2.0
2
3 ===================
4 Adaptec dpti driver
5 ===================
6
7 Redistribution and use in source form, with or without modification, are
8 permitted provided that redistributions of source code must retain the
9 above copyright notice, this list of conditions and the following disclaimer.
10
11 This software is provided ``as is`` by Adaptec and
12 any express or implied warranties, including, but not limited to, the
13 implied warranties of merchantability and fitness for a particular purpose,
14 are disclaimed. In no event shall Adaptec be
15 liable for any direct, indirect, incidental, special, exemplary or
16 consequential damages (including, but not limited to, procurement of
17 substitute goods or services; loss of use, data, or profits; or business
18 interruptions) however caused and on any theory of liability, whether in
19 contract, strict liability, or tort (including negligence or otherwise)
20 arising in any way out of the use of this driver software, even if advised
21 of the possibility of such damage.
22
23 This driver supports the Adaptec I2O RAID and DPT SmartRAID V I2O boards.
24
25 Credits
26 =======
27
28 The original linux driver was ported to Linux by Karen White while at
29 Dell Computer.  It was ported from Bob Pasteur's (of DPT) original
30 non-Linux driver.  Mark Salyzyn and Bob Pasteur consulted on the original
31 driver.
32
33 2.0 version of the driver by Deanna Bonds and Mark Salyzyn.
34
35 History
36 =======
37
38 The driver was originally ported to linux version 2.0.34
39
40 ==== ==========================================================================
41 V2.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.
44 V2.1 Internal testing
45 V2.2 First released version
46
47 V2.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
53 V2.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
69 TODO
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
83 Notes
84 =====
85 The DPT card optimizes the order of processing commands.  Consequently,
86 a command may take up to 6 minutes to complete after it has been sent
87 to the board.
88
89 The files dpti_ioctl.h dptsig.h osd_defs.h osd_util.h sys_info.h are part of the
90 interface files for Adaptec's management routines.  These define the structures used
91 in the ioctls.  They are written to be portable.  They are hard to read, but I need
92 to use them 'as is' or I can miss changes in the interface.