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