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