^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 sym53c8xx-1.7.3c
^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) - Backport from SYM-2 the work-around that allows to support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) hardwares that fail PCI parity checking.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) - Check that we received at least 8 bytes of INQUIRY response
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) for byte 7, that contains device capabilities, to be valid.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) - Define scsi_set_pci_device() as nil for kernel < 2.4.4.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) - + A couple of minor changes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) Sat Apr 7 19:30 2001 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) * version sym53c8xx-1.7.3b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) - Fix an unaligned LOAD from scripts (was used as dummy read).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) - In ncr_soft_reset(), only try to ABORT the current operation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) for chips that support SRUN bit in ISTAT1 and if SCRIPTS are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) currently running, as 896 and 1010 manuals suggest.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) - In the CCB abort path, do not assume that the CCB is currently
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) queued to SCRIPTS. This is not always true, notably after a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) QUEUE FULL status or when using untagged commands.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) Sun Mar 4 18:30 2001 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) * version sym53c8xx-1.7.3a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) - Fix an issue in the ncr_int_udc() (unexpected disconnect)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) handling. If the DSA didn't match a CCB, a bad write to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) memory could happen.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) Mon Feb 12 22:30 2001 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) * version sym53c8xx-1.7.3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) - Support for hppa.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) Tiny patch sent to me by Robert Hirst.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) - Tiny patch for ia64 sent to me by Pamela Delaney.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) Tue Feb 6 13:30 2001 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) * version sym53c8xx-1.7.3-pre1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) - Call pci_enable_device() as AC wants this to be done.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) - Get both the BAR cookies used by CPU and actual PCI BAR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) values used from SCRIPTS. Recent PCI chips are able to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) access themselves using internal cycles, but they compare
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) BAR values to destination address to make decision.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) Earlier chips simply use PCI transactions to access IO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) registers from SCRIPTS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) The bus_dvma_to_mem() interface that reverses the actual
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) PCI BAR value from the BAR cookie is now useless.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) This point had been discussed at the list and the solution
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) got approved by PCI code maintainer (Martin Mares).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) - Merge changes for linux-2.4 that declare the host template
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) in the driver object also when the driver is statically
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) linked with the kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) - Increase SCSI message size up to 12 bytes, given that 8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) bytes was not enough for the PPR message (fix).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) - Add field 'maxoffs_st' (max offset for ST data transfers).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) The C1010 supports offset 62 in DT mode but only 31 in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) ST mode, to 2 different values for the max SCSI offset
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) are needed. Replace the obviously wrong masking of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) offset against 0x1f for ST mode by a lowering to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) maxoffs_st of the SCSI offset in ST mode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) - Refine a work-around for the C1010-66. Revision 1 does
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) not requires extra cycles in DT DATA OUT phase.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) - Add a missing endian-ization (abrt_tbl.addr).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) - Minor clean-up in the np structure for fields accessed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) from SCRIPTS that requires special alignments.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) Sun Sep 24 21:30 2000 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) * version sym53c8xx-1.7.2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) - Remove the hack for PPC added in previous driver version.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) - Add FE_DAC feature bit to distinguish between 64 bit PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) addressing (FE_DAC) and 64 bit PCI interface (FE_64BIT).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) - Get rid of the boot command line "ultra:" argument.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) This parameter wasn't that clever since we can use "sync:"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) for Ultra/Ultra2 settings, and for Ultra3 we may want to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) pass PPR options (for now only DT clocking).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) - Add FE_VARCLK feature bit that indicates that SCSI clock
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) frequency may vary depending on board design and thus,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) the driver should try to evaluate the SCSI clock.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) - Simplify the way the driver determine the SCSI clock:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) ULTRA3 -> 160 MHz, ULTRA2 -> 80 MHz otherwise 40 MHz.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) Measure the SCSI clock frequency if FE_VARCLK is set.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) - Remove FE_CLK80 feature bit that got useless.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) - Add support for the SYM53C875A (Pamela Delaney).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) Wed Jul 26 23:30 2000 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) * version sym53c8xx-1.7.1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) - Provide OpenFirmware path through the proc FS on PPC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) - Download of on-chip SRAM using memcpy_toio() doesn't work
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) on PPC. Restore previous method (MEMORY MOVE from SCRIPTS).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) - Remove trailing argument #2 from a couple of #undefs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) Sun Jul 09 16:30 2000 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) * version sym53c8xx-1.7.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) - Remove the PROFILE C and SCRIPTS code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) This facility was not this useful and thus was not longer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) desirable given the increasing complexity of the driver code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) - Merges from FreeBSD sym-1.6.2 driver:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) * Clarify memory barriers needed by the driver for architectures
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) that implement a weak memory ordering.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) * Simpler handling of illegal phases and data overrun from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) SCRIPTS. These errors are now immediately reported to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) the C code by an interrupt.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) * Sync the residual handling code with sym-1.6.2 and now
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) report `resid' to user for linux version >= 2.3.99
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) - General cleanup:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) Move definitions for barriers and IO/MMIO operations to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) sym53c8xx_defs.h header files. They are now shared by the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) both drivers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) Remove unused options that claimed to optimize for the 896.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) If fact, they were not this clever. :)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) Use SCSI_NCR_IOMAPPED instead of NCR_IOMAPPED.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) Remove a couple of unused fields from data structures.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) Thu May 11 12:40 2000 Pam Delaney (pam.delaney@lsil.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) * version sym53c8xx-1.6b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) - Merged version.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) Mon Apr 24 12:00 2000 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) * version sym53c8xx-1.5m
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) - Return value 1 (instead of 0) from the driver setup routine.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) - Do not enable PCI DAC cycles. This just broke support for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) SYM534C896 on sparc64. Problem fixed by David S. Miller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) Fri Apr 14 9:00 2000 Pam Delaney (pam.delaney@lsil.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) * version sym53c8xx-1.6b-9
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) - Added 53C1010_66 support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) - Small fix to integrity checking code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) - Removed requirement for integrity checking if want to run
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) at ultra 3.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) Sat Apr 1 12:00 2000 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) * version sym53c8xx-1.5l
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) - Tiny change for __sparc__ appeared in 2.3.99-pre4.1 that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) applies to cache line size (? Probably from David S Miller).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) - Make sure no data transfer will happen for Scsi_Cmnd requests
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) that supply SCSI_DATA_NONE direction (this avoids some BUG()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) statement in the PCI code when a data buffer is also supplied).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) Sat Mar 11 12:00 2000 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) * version sym53c8xx-1.6b-5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) - Test against expected data transfer direction from SCRIPTS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) - Add support for the new dynamic dma mapping kernel interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) Requires Linux-2.3.47 (tested with pre-2.3.47-6).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) Many thanks to David S. Miller for his preliminary changes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) that have been useful guidelines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) - Get data transfer direction from the scsi command structure
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) (Scsi_Cmnd) with kernels that provide this information.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) Mon Mar 6 23:30 2000 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) * version sym53c8xx-1.5k
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) - Test against expected data transfer direction from SCRIPTS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) - Revert the change in 'ncr_flush_done_cmds()' but unmap the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) scsi dma buffer prior to queueing the command to our done
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) list.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) - Miscellaneous (minor) fixes in the code added in driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) version 1.5j.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) Mon Feb 14 4:00 2000 Pam Delaney (pam.delaney@lsil.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) * version sym53c8xx-pre-1.6b-2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) - Updated the SCRIPTS error handling of the SWIDE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) condition - to remove any reads of the sbdl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) register. Changes needed because the 896 and 1010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) chips will check parity in some special circumstances.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) This will cause a parity error interrupt if not in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) data phase. Changes based on those made in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) FreeBSD driver version 1.3.2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) Sun Feb 20 11:00 2000 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) * version sym53c8xx-1.5j
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) - Add support for the new dynamic dma mapping kernel interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) Requires Linux-2.3.47 (tested with pre-2.3.47-6).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) Many thanks to David S. Miller for his preliminary changes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) that have been useful guidelines, for having reviewed the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) code and having tested this driver version on Ultra-Sparc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) - 2 tiny bugs fixed in the PCI wrapper that provides support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) for early kernels without pci device structure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) - Get data transfer direction from the scsi command structure
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) (Scsi_Cmnd) with kernels that provide this information.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) - Fix an old bug that only affected 896 rev. 1 when driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) profile support option was set in kernel configuration.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) Fri Jan 14 14:00 2000 Pam Delaney (pam.delaney@lsil.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) * version sym53c8xx-pre-1.6b-1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) - Merge parallel driver series 1.61 and 1.5e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) Tue Jan 11 14:00 2000 Pam Delaney (pam.delaney@lsil.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) * version sym53c8xx-1.61
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) - Added support for mounting disks on wide-narrow-wide
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) scsi configurations.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) - Modified offset to be a maximum of 31 in ST mode,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) 62 in DT mode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) - Based off of 1.60
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) Mon Jan 10 10:00 2000 Pam Delaney (pam.delaney@lsil.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) * version sym53c8xx-1.60
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) - Added capability to use the integrity checking code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) in the kernel (optional).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) - Added PPR negotiation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) - Added support for 53C1010 Ultra 3 part.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) - Based off of 1.5f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) Sat Jan 8 22:00 2000 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) * version sym53c8xx-1.5h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) - Add year 2000 copyright.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) - Display correctly bus signals when bus is detected wrong.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) - Some fix for Sparc from DSM that went directly to kernel tree.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) Mon Dec 6 22:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) * version sym53c8xx-1.5g
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) - Change messages written by the driver at initialisation and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) through the /proc FS (rather cosmetic changes that consist in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) printing out the PCI bus number and PCI device/function).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) - Ensure the SCRIPTS processor is stopped while calibrating the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) SCSI clock (the initialisation code has been a bit reworked).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) Change moved to the FreeBSD sym_hipd driver).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) - Some fixes in the MODIFY_DP/IGN_RESIDUE code and residual
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) calculation (moved from FreeBSD sym_hipd driver).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) - Add NVRAM support for Tekram boards that use 24C16 EEPROM.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) Code moved from the FreeBSD sym_hipd driver, since it has
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) been that one that got this feature first.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) - Definitely disable overlapped PCI arbitration for all dual
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) function chips, since I cannot make sure for what chip revisions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) it is actually safe.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) - Add support for the SYM53C1510D (also for ncr53c8xx).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) - Fix up properly the PCI latency timer when needed or asked for.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) - Get rid of the old PCI bios interface, but preserve kernel 2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) compatibility from a simple wrapper.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) - Update the poor Tekram sync factor table.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) - Fix in a tiny 'printk' bug that may oops in case of extended
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) errors (unrecovered parity error, data overrun, etc ...)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) (Sent by Pamela Delaney from LSILOGIC)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) - Remove the compilation condition about having to acquire the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) io_request_lock since it seems to be a definite feature now.:)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) - Change get_pages by GetPages since Linux >= 2.3.27 now wants
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) get_pages to ever be used as a kernel symbol (from 2.3.27).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) - proc_dir structure no longer needed for kernel >= 2.3.27.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) Sun Oct 3 19:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) * version sym53c8xx-1.5f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) - Change the way the driver checks the PCI clock frequency, so
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) that overclocked PCI BUS up to 48 MHz will not be refused.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) The more the BUS is overclocked, the less the driver will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) guarantee that its measure of the SCSI clock is correct.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) - Backport some minor improvements of SCRIPTS from the sym_hipd
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) - Backport the code rewrite of the START QUEUE dequeuing (on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) bad scsi status received) from the sym_hipd driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) Sat Sep 11 11:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) * version sym53c8xx-1.5e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) - New linux-2.3.13 __setup scheme support added.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) - Cleanup of the extended error status handling:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) Use 1 bit per error type.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) - Also save the extended error status prior to auto-sense.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) - Add the FE_DIFF chip feature bit to indicate support of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) diff probing from GPIO3 (825/825A/876/875).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) - Remove the quirk handling that has been useless since day one.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) - Work-around PCI chips being reported twice on some platforms.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) - Add some redundant PCI reads in order to deal with common
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) bridge misbehaviour regarding posted write flushing.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) - Add some other conditionnal code for people who have to deal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) with really broken bridges (they will have to edit a source
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) file to try these options).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) - Handle correctly (hopefully) jiffies wrap-around.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) - Restore the entry used to detect 875 until revision 0xff.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) (I removed it inadvertently, it seems :) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) - Replace __initfunc() which is deprecated stuff by __init which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) is not yet so. ;-)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) - Rewrite the MESSAGE IN scripts more generic by using a MOVE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) table indirect. Extended messages of any size are accepted now.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) (Size is limited to 8 for now, but a constant is just to be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) increased if necessary)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) - Fix some bug in the fully untested MDP handling:) and share
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) some code between MDP handling and residual calculation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) - Calculate the data transfer residual as the 2's complement
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) integer (A positive value in returned on data overrun, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) a negative one on underrun).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) - Add support of some 'resource handling' for linux-2.3.13.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) Basically the BARs have been changed to something more complex
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) in the pci_dev structure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) - Remove some deprecated code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) Sat Jun 5 11:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) * version sym53c8xx-1.5c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) - Do not negotiate on auto-sense if we are currently using 8 bit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) async transfer for the target.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) - Only check for SISL/RAID on i386 platforms.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) (A problem has been reported on PPC with that code).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) - On MSG REJECT for a negotiation, the driver attempted to restart
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) the SCRIPT processor when this one was already running.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) Sat May 29 12:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) * version sym53c8xx-1.5b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) - Force negotiation prior auto-sense.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) This ensures that the driver will be able to grab the sense data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) from a device that has received a BUS DEVICE RESET message from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) another initiator.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) - Complete all disconnected CCBs for a logical UNIT if we are told
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) about a UNIT ATTENTION for a RESET condition by this target.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) - Add the control command 'cleardev' that allows to send a ABORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) message to a logical UNIT (for test purpose).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) Tue May 25 23:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) * version sym53c8xx-1.5a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) - Add support for task abort and bus device reset SCSI message
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) and implement proper synchonisation with SCRIPTS to handle
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) correctly task abortion without races.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) - Send an ABORT message (if untagged) or ABORT TAG message (if tagged)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) when the driver is told to abort a command that is disconnected and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) complete the command with appropriate error.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) If the aborted command is not yet started, remove it from the start
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) queue and complete it with error.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) - Add the control command 'resetdev' that allows to send a BUS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) DEVICE RESET message to a target (for test purpose).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) - Clean-up some unused or useless code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) Fri May 21 23:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) * version sym53c8xx-1.5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) - Add support for CHMOV with Wide controllers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) - Handling of the SWIDE (low byte residue at the end of a CHMOV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) in DATA IN phase with WIDE transfer when the byte count gets odd).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) - Handling of the IGNORE WIDE RESIDUE message.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) Handled from SCRIPTS as possible with some optimizations when both
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) a wide device and the controller are odd at the same time (SWIDE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) present and IGNORE WIDE RESIDUE message on the BUS at the same time).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) - Check against data OVERRUN/UNDERRUN condition at the end of a data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) transfer, whatever a SWIDE is present (OVERRUN in DATA IN phase)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) or the SODL is full (UNDERRUN in DATA out phase).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) - Handling of the MODIFY DATA POINTER message.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) This one cannot be handled from SCRIPTS, but hopefully it will not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) happen very often. :)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) - Large rewrite of the SCSI MESSAGE handling.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) Sun May 9 11:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) * version sym53c8xx-1.4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) - Support for IMMEDIATE ARBITRATION.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) See the README file for detailed information about this feature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) Requires both a compile option and a boot option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) - Minor SCRIPTS optimization in reselection pattern for LUN 0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) - Simpler algorithm to deal with SCSI command starvation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) Just use 2 tag counters in flip/flop and switch to the other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) one every 3 seconds.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340) - Do some work in SCRIPTS after the SELECT instruction and prior
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) to testing for a PHASE. SYMBIOS say this feature is working fine.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) (Btw, only problems with Toshiba 3401B had been reported).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) - Measure the PCI clock speed and do not attach controllers if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) result is greater than 37 MHz. Since the precision of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) algorithm (from Stefan Esser) is better than 2%, this should
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) be fine.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) - Fix the misdetection of SYM53C875E (was detected as a 876).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) - Fix the misdetection of SYM53C810 not A (was detected as a 810A).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) - Support for up to 256 TAGS per LUN (CMD_PER_LUN).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) Currently limited to 255 due to Linux limitation. :)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) - Support for up to 508 active commands (CAN_QUEUE).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) - Support for the 53C895A by Pamela Delaney <pam.delaney@lsil.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) The 53C895A contains all of the features of the 896 but has only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) one channel and has a 32 bit PCI bus. It does 64 bit PCI addressing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) using dual cycle PCI data transfers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) - Miscellaneous minor fixes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) - Some additions to the README.ncr53c8xx file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) Tue Apr 15 10:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) * version sym53c8xx-1.3e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) - Support for any number of LUNs (64) (SPI2-compliant).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) (Btw, this may only be ever useful under linux-2.2 ;-))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) Sun Apr 11 10:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) * version sym53c8xx-1.3d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) - Add 'hostid:#id' boot option. This option allows to change the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) default SCSI id the driver uses for controllers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) - Make SCRIPTS not use self-mastering for PCI.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) There were still 2 places the driver used this feature of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) 53C8XX family.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) - Move some data structures (nvram layouts and driver set-up) to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) the sym53c8xx_defs.h file. So, the both drivers will share them.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) - Set MAX LUNS to 16 (instead of 8).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375) Sat Mar 20 21:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376) * version sym53c8xx-1.3b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) - Add support for NCR PQS PDS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378) James Bottomley <James.Bottomley@columbiasc.ncr.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) - Allow value 0 for host ID.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380) - Support more than 8 controllers (> 40 in fact :-) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381) - Add 'excl=#ioaddr' boot option: exclude controller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) (Version 1.3a driver)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) Thu Mar 11 23:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385) * version sym53c8xx-1.3 (8xx-896 driver bundle)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386) - Equivalent changes as ncr53c8xx-3.2 due to the driver bundle.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387) (See Changelog.ncr53c8xx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388) - Do a normal soft reset as first chip reset, since aborting current
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) operation may raise an interrupt we are not able to handle since
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390) the interrupt handler is not yet established.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392) Sat Mar 6 11:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393) * version sym53c8xx-1.2b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394) - Fix some oooold bug that hangs the bus if a device rejects a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395) negotiation. Btw, the corresponding stuff also needed some cleanup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396) and thus the change is a bit larger than it could have been.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397) - Still some typo that made compilation fail for 64 bit (trivial fix).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399) Sun Feb 21 20:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400) * version sym53c8xx-1.2a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401) - The rewrite of the interrupt handling broke the SBMC interrupt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402) handling due to a 1 bit mask tiny error. Hopefully fixed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403) - If INQUIRY came from a scatter list, the driver looked into
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404) the scatterlist instead of the data.:) Since this should never
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405) happen, we just discard the data if use_sg is not zero.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407) Fri Feb 12 23:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408) * version sym53c8xx-1.2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409) - Major rewrite of the interrupt handling and recovery stuff for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410) the support of non compliant SCSI removal, insertion and all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411) kinds of screw-up that may happen on the SCSI BUS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412) Hopefully, the driver is now unbreakable or may-be, it is just
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413) quite brocken. :-)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414) Many thanks to Johnson Russel (Symbios) for having responded to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415) my questions and for his interesting advices and comments about
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416) support of SCSI hot-plug.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417) - Add 'recovery' option to driver set-up.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418) - Negotiate SYNC data transfers with CCS devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 419) - Deal correctly with 64 bit PCI address registers on Linux 2.2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 420) Pointed out by Leonard Zubkoff.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 421)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 422) Sun Jan 31 18:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 423) * version sym53c8xx-1.1a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 424) - Some 896 chip revisions (all for now :-)), may hang-up if the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 425) soft reset bit is set at the wrong time while SCRIPTS are running.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 426) We need to first abort the current SCRIPTS operation prior to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 427) resetting the chip. This fix has been sent to me by SYMBIOS/LSI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 428) and I just translated it into ncr53c8xx syntax.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 429) Must be considered 100 % trustable, unless I did some mistake
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 430) when translating it. :-)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 431)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 432) Sun Jan 24 18:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 433) * version sym53c8xx-1.1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 434) - Major rewrite of the SCSI parity error handling.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 435) The informations contained in the data manuals are incomplete about
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 436) this feature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 437) I asked SYMBIOS about and got in reply the explanations that are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 438) _indeed_ missing in the data manuals.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 439) - Allow to tune request_irq() flags from the boot command line using
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 440) ncr53c8xx=irqm:??, as follows:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 441) a) If bit 0x10 is set in irqm, SA_SHIRQ flag is not used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 442) b) If bit 0x20 is set in irqm, SA_INTERRUPT flag is not used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 443) By default the driver uses both SA_SHIRQ and SA_INTERRUPT.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 444) Option 'ncr53c8xx=irqm:0x20' may be used when an IRQ is shared by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 445) a 53C8XX adapter and a network board.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 446) - Fix for 64 bit PCI address register calculation. (Lance Robinson)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 447) - Fix for big-endian in phase mismatch handling. (Michal Jaegermann)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 448)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 449) Fri Jan 1 20:00 1999 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 450) * version sym53c8xx-1.0a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 451) - Waiting list look-up didn't work for the first command of the list.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 452) Hopefully fixed, but tested on paper only. ;)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 453) - Remove the most part of PPC specific code for Linux-2.2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 454) Thanks to Cort.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 455) - Some other minors changes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 456)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 457) Sat Dec 19 21:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 458) * version sym53c8xx-1.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 459) - Define some new IO registers for the 896 (istat1, mbox0, mbox1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 460) - Revamp slightly the Symbios NVRAM lay-out based on the excerpt of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 461) the header file I received from Symbios.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 462) - Check the PCI bus number for the boot order (Using a fast
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 463) PCI controller behing a PCI-PCI bridge seems sub-optimal).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 464) - Disable overlapped PCI arbitration for the 896 revision 1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 465) - Reduce a bit the number of IO register reads for phase mismatch
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 466) by reading DWORDS at a time instead of BYTES.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 467)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 468) Thu Dec 3 24:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 469) * version pre-sym53c8xx-0.18
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 470) - I received this afternoon a 896 from SYMBIOS and started testing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 471) the driver with this beast. After having fixed 3 buglets, it worked
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 472) with all features enabled including the phase mismatch handling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 473) from SCRIPTS. Since this feature is not yet tested enough, the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 474) boot option 'ncr53c8xx=specf:1' is still required to enable the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 475) driver to handle PM from SCRIPTS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 476)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 477) Sun Nov 29 18:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 478) * version pre-sym53c8xx-0.17
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 479) - The SISL RAID change requires now remap_pci_mem() stuff to be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 480) compiled for __i386__ when normal IOs are used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 481) - The PCI memory read from SCRIPTS that should ensure ordering
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 482) was in fact misplaced. BTW, this may explain why broken PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 483) device drivers regarding ordering are working so well. ;-)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 484) - Rewrite ncr53c8xx_setup (boot command line options) since the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 485) binary code was a bit too bloated in my opinion.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 486) - Make the code simpler in the wakeup_done routine.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 487)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 488) Tue Nov 24 23:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 489) * version pre-sym53c8xx-0.16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 490) - Add SCSI_NCR_OPTIMIZE_896_1 compile option and 'optim' boot option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 491) When set, the driver unconditionnaly assumes that the interrupt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 492) handler is called for command completion, then clears INTF, scans
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 493) the done queue and returns if some completed CCB is found. If no
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 494) completed CCB are found, interrupt handling will proceed normally.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 495) With a 896 that handles MA from SCRIPTS, this can be a great win,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 496) since the driver will never performs PCI read transactions, but
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 497) only PCI write transactions that may be posted.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 498) If the driver haven't to also raise the SIGP this would be perfect.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 499) Even with this penalty, I think that this will work great.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 500) Obviously this optimization makes sense only if the IRQ is not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 501) shared with another device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 502) - Still a buglet in the tags initial settings that needed to be fixed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 503) It was not possible to disable TGQ at system startup for devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 504) that claim TGQ support. The driver used at least 2 for the queue
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 505) depth but did'nt keep track of user settings for tags depth lower
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 506) than 2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 507)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 508) Thu Nov 19 23:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 509) * version pre-sym53c8xx-0.15
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 510) - Add support for hardware LED control of the 896.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 511) - Ignore chips that are driven by SISL RAID (DAC 960).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 512) Change sent by Leonard Zubkoff and slightly reworked.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 513) - Prevent 810A rev 11 and 860 rev 1 from using cache line based
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 514) transactions since those early chip revisions may use such on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 515) LOAD/STORE instructions (work-around).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 516) - Remove some useless and bloat code from the pci init stuff.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 517) - Do not use the readX()/writeX() kernel functions for __i386__,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 518) since they perform useless masking operations in order to deal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 519) with broken driver in 2.1.X kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 520)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 521) Wed Nov 11 10:00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 522) * version pre-sym53c8xx-0.14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 523) - The driver was unhappy when configured with default_tags > MAX_TAGS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 524) Hopefully doubly-fixed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 525) - Set PCI_PARITY in PCI_COMMAND register in not set (PCI fix-up).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 526) - Print out some message if phase mismatch is handled from SCRIPTS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 527)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 528) Sun Nov 1 14H00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 529) * version pre-sym53c8xx-0.13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 530) - Some rewrite of the device detection code. This code had been
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 531) patched too much and needed to be face-lifted a bit.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 532) Remove all platform dependent fix-ups that was not needed or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 533) conflicted with some other driver code as work-arounds.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 534) Reread the NVRAM before the calling of ncr_attach(). This spares
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 535) stack space and so allows to handle more boards.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 536) Handle 64 bit base addresses under linux-2.0.X.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 537) Set MASTER bit in PCI COMMAND register if not set.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 538)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 539) Wed Oct 30 22H00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 540) * version pre-sym53c8xx-0.12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 541) - Damned! I just broke the driver for Alpha by leaving a stale
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 542) instruction in the source code. Hopefully fixed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 543) - Do not set PFEN when it is useless. Doing so we are sure that BOF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 544) will be active, since the manual appears to be very unclear on what
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 545) feature is actually used by the chip when both PFEN and BOF are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 546) set.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 547)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 548) Sat Oct 24 16H00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 549) * version pre-sym53c8xx-0.11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 550) - LOAD/STORE instructions were miscompiled for register offsets
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 551) beyond 0x7f. This broke accesses to 896' new registers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 552) - Disable by default Phase Mismatch handling from SCRIPTS, since
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 553) current 896 rev.1 seems not to operate safely with the driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 554) when this feature is enabled (and above LOAD/STORE fix applied).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 555) I will change the default to 'enabled' when this problem will be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 556) solved.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 557) Using boot option 'ncr53c8xx=specf:1' enables this feature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 558) - Implement a work-around (DEL 472 - ITEM 5) that should allow the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 559) driver to safely enable hardware phase mismatch with 896 rev. 1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 560)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 561) Tue Oct 20 22H00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 562) * version pre-sym53c8xx-0.10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 563) - Add the 53c876 description to the chip table. This is only useful
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 564) for printing the right name of the controller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 565) - Add additional checking of INQUIRY data:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 566) Check INQUIRY data received length is at least 7. Byte 7 of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 567) inquiry data contains device features bits and the driver might
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 568) be confused by garbage. Also check peripheral qualifier.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 569) - Use a 1,3,5,...MAXTAGS*2+1 tag numbering. Previous driver could
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 570) use any tag number from 1 to 253 and some non conformant devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 571) might have problems with large tag numbers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 572) - Use NAME53C and NAME53C8XX for chip name prefix chip family name.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 573) Just give a try using "sym53c" and "sym53c8xx" instead of "ncr53c"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 574) and "ncr53c8xx". :-)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 575)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 576) Sun Oct 11 17H00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 577) * version pre-sym53c8xx-0.9
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 578) - DEL-441 Item 2 work-around for the 53c876 rev <= 5 (0x15).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 579) - Break ncr_scatter() into 2 functions in order to guarantee best
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 580) possible code optimization for the case we get a scatter list.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 581) - Add the code intended to support up to 1 tera-byte for 64 bit systems.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 582) It is probably too early, but I wanted to complete the thing.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 583)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 584) Sat Oct 3 14H00 1998 Gerard Roudier (groudier@club-internet.fr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 585) * version pre-sym53c8xx-0.8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 586) - Do some testing with io_mapped and fix what needed to be so.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 587) - Wait for SCSI selection to complete or time-out immediately after
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 588) the chip won arbitration, since executing SCRIPTS while the SCSI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 589) core is performing SCSI selection breaks the selection procedure
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 590) at least for some chip revisions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 591) - Interrupt the SCRIPTS if a device does not go to MSG OUT phase after
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 592) having been selected with ATN. Such a situation is not recoverable,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 593) better to fail when we are stuck.