Mauro Carvalho Chehab | f229784 | 2020-03-02 09:15:47 +0100 | [diff] [blame] | 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. |