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