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