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