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 |
| 22 | - Provide OpenFirmare path through the proc FS on PPC. |
| 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: |
| 198 | a) If bit 0x10 is set in irqm, SA_SHIRQ flag is not used. |
| 199 | b) If bit 0x20 is set in irqm, SA_INTERRUPT flag is not used. |
| 200 | By default the driver uses both SA_SHIRQ and SA_INTERRUPT. |
| 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). |