^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) Sat May 12 12:00 2001 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) * version ncr53c8xx-3.4.3b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) - Ensure LEDC bit in GPCNTL is cleared when reading the NVRAM.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) Fix sent by Stig Telfer <stig@api-networks.com>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) - Define scsi_set_pci_device() as nil for kernel < 2.4.4.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) Mon Feb 12 22:30 2001 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) * version ncr53c8xx-3.4.3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) - Call pci_enable_device() as AC wants this to be done.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) - Get both the BAR cookies actual and PCI BAR values.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) (see Changelog.sym53c8xx rev. 1.7.3 for details)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) - Merge changes for linux-2.4 that declare the host template
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) in the driver object also when the driver is statically
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) linked with the kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) Sun Sep 24 21:30 2000 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) * version ncr53c8xx-3.4.2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) - See Changelog.sym53c8xx, driver version 1.7.2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Wed Jul 26 23:30 2000 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) * version ncr53c8xx-3.4.1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) - Provide OpenFirmware path through the proc FS on PPC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) - Remove trailing argument #2 from a couple of #undefs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) Sun Jul 09 16:30 2000 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) * version ncr53c8xx-3.4.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) - Remove the PROFILE C and SCRIPTS code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) This facility was not this useful and thus was not longer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) desirable given the increasing complexity of the driver code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) - Merges from FreeBSD sym-1.6.2 driver:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) * Clarify memory barriers needed by the driver for architectures
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) that implement a weak memory ordering.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) - General cleanup:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) Move definitions for barriers and IO/MMIO operations to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) sym53c8xx_defs.h header files. They are now shared by the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) both drivers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) Use SCSI_NCR_IOMAPPED instead of NCR_IOMAPPED.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) Thu May 11 12:30 2000 Pam Delaney (pam.delaney@lsil.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) * revision 3.3b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) Mon Apr 24 12:00 2000 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) * revision 3.2i
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) - Return value 1 (instead of 0) from the driver setup routine.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) - Let the driver also attach controllers that have been set to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) OFF in the NVRAM as it did prior to revision 3.2g.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) Sat Apr 1 12:00 2000 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) * revision 3.2h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) - Fix a compilation problem on Alpha introduced in version 3.2g.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) (`port' changed to `base_io').
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) - Move from `sym' to this driver a tiny change for __sparc__ that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) applies to cache line size (? Probably from David S Miller).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) - Make sure no data transfer will happen for Scsi_Cmnd requests
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) that supply SCSI_DATA_NONE direction (this avoids some BUG()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) statement in the PCI code when a data buffer is also supplied).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) Thu Mar 16 9:30 2000 Pam Delaney (pam.delaney@lsil.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) * revision 3.3b-3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) - Added exclusion for the 53C1010 and 53C1010_66 chips
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) to the driver (change to sym53c8xx_comm.h).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) Mon March 6 23:15 2000 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) * revision 3.2g
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) - Add the file sym53c8xx_comm.h that collects code that should
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) be shared by sym53c8xx and ncr53c8xx drivers. For now, it is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) a header file that is only included by the ncr53c8xx driver,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) but things will be cleaned up later. This code addresses
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) notably:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) * Chip detection and PCI related initialisations
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) * NVRAM detection and reading
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) * DMA mapping
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) * Boot setup command
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) * And some other ...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) - Add support for the new dynamic dma mapping kernel interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) Requires Linux-2.3.47 (tested with pre-2.3.47-6).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) - Get data transfer direction from the scsi command structure
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) (Scsi_Cmnd) when this information is available.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) Mon March 6 23:15 2000 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) * revision 3.2g
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) - Add the file sym53c8xx_comm.h that collects code that should
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) be shared by sym53c8xx and ncr53c8xx drivers. For now, it is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) a header file that is only included by the ncr53c8xx driver,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) but things will be cleaned up later. This code addresses
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) notably:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) * Chip detection and PCI related initialisations
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) * NVRAM detection and reading
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) * DMA mapping
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) * Boot setup command
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) * And some other ...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) - Add support for the new dynamic dma mapping kernel interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) Requires Linux-2.3.47 (tested with pre-2.3.47-6).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) - Get data transfer direction from the scsi command structure
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) (Scsi_Cmnd) when this information is available.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) Fri Jan 14 14:00 2000 Pam Delaney (pam.delaney@lsil.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) * revision pre-3.3b-1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) - Merge parallel driver series 3.31 and 3.2e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) Tue Jan 11 14:00 2000 Pam Delaney (pam.delaney@lsil.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) * revision 3.31
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) - Added support for mounting disks on wide-narrow-wide
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) scsi configurations.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) - Built off of version 3.30
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) Mon Jan 10 13:30 2000 Pam Delaney (pam.delaney@lsil.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) * revision 3.30
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) - Added capability to use the integrity checking code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) in the kernel (optional).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) - Disabled support for the 53C1010.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) - Built off of version 3.2c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) Sat Jan 8 22:00 2000 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) * revision 3.2e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) - Add year 2000 copyright.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) - Display correctly bus signals when bus is detected wrong.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) - Remove the dead code that broke driver 3.2d.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) Mon Dec 6 22:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) * revision 3.2d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) - Change messages written by the driver at initialisation and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) through the /proc FS (rather cosmetic changes that consist in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) printing out the PCI bus number and device/function).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) - Get rid of the old PCI bios interface, but preserve kernel 2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) compatibility from a simple wrapper.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) - Remove the compilation condition about having to acquire the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) io_request_lock since it seems to be a definite feature now.:)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) - proc_dir structure no longer needed for kernel >= 2.3.27.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) - Change the driver detection code by the sym53c8xx one, modulo
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) some minor changes. The driver can now attach any number of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) controllers (>40) and does no longer hoger stack space at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) initialisation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) - Definitely disable overlapped PCI arbitration for all dual
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) function chips, since I cannot make sure for what chip revisions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) it is actually safe.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) - Add support for the SYM53C1510D.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) - Update the poor Tekram sync factor table.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) - Remove the compilation condition about having to acquire the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) io_request_lock since it seems to be a definite feature now.:)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) - proc_dir structure no longer needed for kernel >= 2.3.27.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) Sat Sep 11 18:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) * revision 3.2c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) - Handle correctly (hopefully) jiffies wrap-around.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) - Restore the entry used to detect 875 until revision 0xff.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) (I removed it inadvertently, it seems :) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) - Replace __initfunc() which is deprecated stuff by __init which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) is not yet so. ;-)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) - Add support of some 'resource handling' for linux-2.3.13.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) Basically the BARs have been changed to something more complex
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) in the pci_dev structure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) - Remove some deprecated code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) Sat May 10 11:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) * revision pre-3.2b-1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) - Support for the 53C895A by Pamela Delaney <pam.delaney@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) The 53C895A contains all of the features of the 896 but has only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) one channel and has a 32 bit PCI bus. It does 64 bit PCI addressing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) using dual cycle PCI data transfers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) - Miscellaneous minor fixes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) - Some additions to the README.ncr53c8xx file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) Sun Apr 11 10:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) * revision 3.2a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) - Add 'hostid:#id' boot option. This option allows to change the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) default SCSI id the driver uses for controllers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) - Remove nvram layouts and driver set-up structures from the C source,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) and use the one defined in sym53c8xx_defs.h file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) (shared by both drivers).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) - Set for now MAX LUNS to 16 (instead of 8).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) Thu Mar 11 23:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) * revision 3.2 (8xx-896 driver bundle)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) - Only define the host template in ncr53c8xx.h and include the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) sym53c8xx_defs.h file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) - Declare static all symbols that do not need to be visible from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) outside the driver code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) - Add 'excl' boot command option that allows to pass to the driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) io address of devices not to attach.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) - Add info() function called from the host template to print
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) driver/host information.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) - Minor documentation additions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) Sat Mar 6 11:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) * revision 3.1h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) - Fix some oooold bug that hangs the bus if a device rejects a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) negotiation. Btw, the corresponding stuff also needed some cleanup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) and thus the change is a bit larger than it could have been.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) - Still some typo that made compilation fail for 64 bit (trivial fix).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) Sun Feb 14:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) * revision 3.1g
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) - Deal correctly with 64 bit PCI address registers on Linux 2.2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) Pointed out by Leonard Zubkoff.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) - Allow to tune request_irq() flags from the boot command line using
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) ncr53c8xx=irqm:??, as follows:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) a) If bit 0x10 is set in irqm, IRQF_SHARED flag is not used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) b) If bit 0x20 is set in irqm, IRQF_DISABLED flag is not used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) By default the driver uses both IRQF_SHARED and IRQF_DISABLED.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) Option 'ncr53c8xx=irqm:0x20' may be used when an IRQ is shared by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) a 53C8XX adapter and a network board.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) - Tiny misspelling fixed (ABORT instead of ABRT). Was fortunately
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) harmless.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) - Negotiate SYNC data transfers with CCS devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) Sat Jan 16 17:30 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) * revision 3.1f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) - Some PCI fix-ups not needed any more for PPC (from Cort).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) - Cache line size set to 16 DWORDS for Sparc (from DSM).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) - Waiting list look-up didn't work for the first command of the list.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) - Remove 2 useless lines of code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) Sun Dec 13 18:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) * revision 3.1e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) - Same work-around as for the 53c876 rev <= 0x15 for 53c896 rev 1:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) Disable overlapped arbitration. This will not make difference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) since the chip has on-chip RAM.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) Thu Nov 26 22:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) * revision 3.1d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) - The SISL RAID change requires now remap_pci_mem() stuff to be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) compiled for __i386__ when normal IOs are used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) - Minor spelling fixes in doc files.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) Sat Nov 21 18:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) * revision 3.1c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) - Ignore chips that are driven by SISL RAID (DAC 960).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) Change sent by Leonard Zubkoff and slightly reworked.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) - Still a buglet in the tags initial settings that needed to be fixed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) It was not possible to disable TGQ at system startup for devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) that claim TGQ support. The driver used at least 2 for the queue
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) depth but did'nt keep track of user settings for tags depth lower
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) than 2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) Wed Nov 11 10:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) * revision 3.1b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) - The driver was unhappy when configured with default_tags > MAX_TAGS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) Hopefully doubly-fixed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) - Update the Configure.help driver section that speaks of TAGS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) Wed Oct 21 21:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) * revision 3.1a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) - Changes from Eddie Dost for Sparc and Alpha:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) ioremap/iounmap support for Sparc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) pcivtophys changed to bus_dvma_to_phys.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) - Add the 53c876 description to the chip table. This is only useful
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) for printing the right name of the controller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) - DEL-441 Item 2 work-around for the 53c876 rev <= 5 (0x15).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) - Add additional checking of INQUIRY data:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) Check INQUIRY data received length is at least 7. Byte 7 of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) inquiry data contains device features bits and the driver might
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) be confused by garbage. Also check peripheral qualifier.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) - Cleanup of the SCSI tasks management:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) Remove the special case for 32 tags. Now the driver only uses the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) scheme that allows up to 64 tags per LUN.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) Merge some code from the 896 driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) Use a 1,3,5,...MAXTAGS*2+1 tag numbering. Previous driver could
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) use any tag number from 1 to 253 and some non conformant devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) might have problems with large tag numbers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) - 'no_sync' changed to 'no_disc' in the README file. This is an old
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) and trivial mistake that seems to demonstrate the README file is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) not often read. :)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) Sun Oct 4 14:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) * revision 3.0i
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) - Cosmetic changes for sparc (but not for the driver) that needs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) __irq_itoa() to be used for printed IRQ value to be understandable.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) - Some problems with the driver that didn't occur using driver 2.5f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) were due to a SCSI selection problem triggered by a clearly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) documented feature that in fact seems not to work: (53C8XX chips
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) are claimed by the manuals to be able to execute SCSI scripts just
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) after abitration while the SCSI core is performing SCSI selection).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) This optimization is broken and has been removed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) - Some broken scsi devices are confused when a negotiation is started
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) on a LUN that does not correspond to a real device. According to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) SCSI specs, this is a device firmware bug. This has been worked
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) around by only starting negotiation if the LUN has previously be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) used for at least 1 successful SCSI command.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) - The 'last message sent' printed out on M_REJECT message reception
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) was read from the SFBR i/o register after the previous message had
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) been sent.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) This was not correct and affects all previous driver versions and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) the original FreeBSD one as well. The SCSI scripts has been fixed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) so that it now provides the right information to the C code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) Sat Jul 18 13:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) * revision 3.0g
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) - Preliminary fixes for Big Endian (sent by Eddie C. Dost).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) Big Endian architectures should work again with the driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) Eddie's patch has been partially applied since current 2.1.109
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) does not have all the Sparc changes of the vger tree.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) - Use of BITS_PER_LONG instead of (~0UL == 0xffffffffUL) has fixed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) the problem observed when the driver was compiled using EGCS or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) PGCC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) Mon Jul 13 20:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) * revision 3.0f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) - Some spelling fixes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) - linux/config.h misplaced in ncr53c8xx.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) - MODULE_PARM stuff added for linux 2.1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) - check INQUIRY response data format is exactly 2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) - use BITS_PER_LONG if defined.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) Sun Jun 28 12:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) * revision 3.0e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) - Some cleanup, spelling fixes, version checks, documentations
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) changes, etc ...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) Sat Jun 20 20:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) * revision 3.0c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) - Add a boot setup option that allows to set up device queue depths
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) at boot-up. This option is very useful since Linux does not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) allow to change scsi device queue depth once the system has been
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) booted up.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) Sun Jun 15 23:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) * revision 3.0a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) - Support for up to 64 TAGS per LUN.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) - Rewrite the TARGET vs LUN capabilities management.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) CmdQueue is now handled as a LUN capability as it shall be.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) This also fixes a bug triggered when disabling tagged command
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) queuing for a device that had this feature enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) - Remove the ncr_opennings() stuff that was useless under Linux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) and hard to understand to me.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) - Add "setverbose" procfs driver command. It allows to tune
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) verbose level after boot-up. Setting this level to zero, for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) example avoid flooding the syslog file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) - Add KERN_XXX to some printk's.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) Tue Jun 10 23:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) * revision 3.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) - Linux config changes for 2.0.34:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) Remove NVRAM detection config option. This option is now enabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) by default but can be disabled by editing the driver header file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) Add a PROFILE config option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) - Update Configure.help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) - Add calls to new function mdelay() for milli-seconds delay if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) kernel version >= 2.1.105.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340) - Replace all printf(s) by printk(s). After all, the ncr53c8xx is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) a driver for Linux.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) - Perform auto-sense on COMMAND TERMINATED. Not sure it is useful.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) - Some other minor changes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) Tue Jun 4 23:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) * revision 2.6n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) - Code cleanup and simplification:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) Remove kernel 1.2.X and 1.3.X support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) Remove the _old_ target capabilities table.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) Remove the error recovery code that have'nt been really useful.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) Use a single alignment boundary (CACHE_LINE_SIZE) for data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) structures.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) - Several aggressive SCRIPTS optimizations and changes:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) Reselect SCRIPTS code rewritten.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) Support for selection/reselection without ATN.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) And some others.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) - Miscallaneous changes in the C code:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) Count actual number of CCB queued to the controller (future use).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) Lots of other minor changes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) Wed May 13 20:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) * revision 2.6m
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) - Problem of missed SCSI bus reset with the 53C895 fixed by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) Richard Waltham. The 53C895 needs about 650 us for the bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) mode to settle. Delays used while resetting the controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) and the bus have been adjusted. Thanks Richard!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) - Some simplification for 64 bit arch done ccb address testing.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) - Add a check of the MSG_OUT phase after Selection with ATN.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) - The new tagged queue stuff seems ok, so some informationnal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) message have been conditionned by verbose >= 3.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) - Donnot reset if a SBMC interrupt reports the same bus mode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) - Print out the whole driver set-up. Some options were missing and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) the print statement was misplaced for modules.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) - Ignore a SCSI parity interrupt if the chip is not connected to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375) the SCSI bus.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) Sat May 1 16:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378) * revision 2.6l
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) - Add CCB done queue support for Alpha and perhaps some other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380) architectures.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381) - Add some barriers to enforce memory ordering for x86 and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) Alpha architectures.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383) - Fix something that looks like an old bug in the nego SIR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) interrupt code in case of negotiation failure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386) Sat Apr 25 21:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387) * revision 2.6k
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388) - Remove all accesses to the on-chip RAM from the C code:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) Use SCRIPTS to load the on-chip RAM.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390) Use SCRIPTS to repair the start queue on selection timeout.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391) Use the copy of script in main memory to calculate the chip
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392) context on phase mismatch.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393) - The above allows now to use the on-chip RAM without requiring
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394) to get access to the on-chip RAM from the C code. This makes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395) on-chip RAM useable for linux-1.2.13 and for Linux-Alpha for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396) instance.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397) - Some simplifications and cleanups in the SCRIPTS and C code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398) - Buglet fixed in parity error recovery SCRIPTS (never tested).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399) - Minor updates in README.ncr53c8xx.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401) Wed Apr 15 21:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402) * revision 2.6j
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403) - Incorporate changes from linux-2.1.95 ncr53c8xx driver version.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404) - Add SMP support for linux-2.1.95 and above.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405) - Fix a bug when QUEUE FULL is returned and no commands are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406) disconnected. This happens with Atlas I / L912 and may happen
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407) with Atlas II / LXY4.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408) - Nail another one on CHECK condition when requeuing the command
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409) for auto-sense.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410) - Call scsi_done() for all completed commands after interrupt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411) handling.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412) - Increase the done queue to 24 entries.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414) Sat Apr 4 20:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415) * revision 2.6i
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416) - CTEST0 is used by the 53C885 for Power Management and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417) priority setting between the 2 functions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418) Use SDID instead as actual target number. Just have had to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 419) overwrite it with SSID on reselection.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 420) - Split DATA_IN and DATA_OUT scripts into 2 sub-scripts.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 421) 64 segments are moved from on-chip RAM scripts.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 422) If more segments, a script in main memory is used for the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 423) additional segments.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 424) - Since the SCRIPTS processor continues SCRIPTS execution after
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 425) having won arbitration, do some stuff prior to testing any SCSI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 426) phase on reselection. This should have the vertue to process
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 427) scripts in parallel with the SCSI core performing selection.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 428) - Increase the done queue to 12 entries.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 429)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 430) Sun Mar 29 12:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 431) * revision 2.6h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 432) - Some fixes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 433)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 434) Tue Mar 26 23:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 435) * revision 2.6g
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 436) - New done queue. 8 entries by default (6 always useable).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 437) Can be increased if needed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 438) - Resources management using doubly linked queues.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 439) - New auto-sense and QUEUE FULL handling that does not need to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 440) stall the NCR queue any more.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 441) - New CCB starvation avoiding algorithm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 442) - Prepare CCBs for SCSI commands that cannot be queued, instead of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 443) inserting these commands into the waiting list. The waiting list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 444) is now only used while resetting and when memory for CCBs is not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 445) yet available?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 446)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 447) Sun Feb 8 22:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 448) * revision 2.6f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 449) - Some fixes in order to really support the 53C895, at least with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 450) FAST-20 devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 451) - Heavy changes in the target/lun resources management to allow
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 452) the scripts to jump directly to the CCB on reselection instead
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 453) of walking on the lun CCBs list. Up to 32 tags per lun are now
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 454) supported without script processor and PCI traffic overhead.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 455)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 456) Sun Jan 11 22:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 457) * revision 2.6d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 458) - new (different ?) implementation of the start queue:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 459) Use a simple CALL to a launch script in the CCB.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 460) - implement a minimal done queue (1 entry :-) ).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 461) this avoid scanning all CCBs on INT FLY (Only scan all CCBs, on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 462) overflow). Hit ratio is better than 99.9 % on my system, so no
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 463) need to have a larger done queue.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 464) - generalization of the restart of CCB on special condition as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 465) Abort, QUEUE FULL, CHECK CONDITION.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 466) This has been called 'silly scheduler'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 467) - make all the profiling code conditionned by a config option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 468) This spare some PCI traffic and C code when this feature is not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 469) needed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 470) - handle more cleanly the situation where direction is unknown.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 471) The pointers patching is now performed by the SCRIPTS processor.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 472) - remove some useless scripts instructions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 473)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 474) Ported from driver 2.5 series:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 475) ------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 476) - Use FAST-5 instead of SLOW for slow scsi devices according to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 477) new SPI-2 draft.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 478) - Make some changes in order to accommodate with 875 rev <= 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 479) device errata listing 397. Minor consequences are:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 480) . Leave use of PCI Write and Invalidate under user control.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 481) Now, by default the driver does not enable PCI MWI and option
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 482) 'specf:y' is required in order to enable this feature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 483) . Memory Read Line is not enabled for 875 and 875-like chips.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 484) . Programmed burst length set to 64 DWORDS (instead of 128).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 485) (Note: SYMBIOS uses 32 DWORDS for the SDMS BIOS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 486) - Add 'buschk' boot option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 487) This option enables checking of SCSI BUS data lines after SCSI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 488) RESET (set by default). (Submitted by Richard Waltham).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 489) - Update the README file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 490) - Dispatch CONDITION MET and RESERVATION CONFLICT scsi status
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 491) as OK driver status.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 492) - Update the README file and the Symbios NVRAM format definition
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 493) with removable media flags values (available with SDMS 4.09).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 494) - Several PCI configuration registers fix-ups for powerpc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 495) (Patch sent by Cort).