18c2ecf20Sopenharmony_ciSat May 12 12:00 2001 Gerard Roudier (groudier@club-internet.fr) 28c2ecf20Sopenharmony_ci * version ncr53c8xx-3.4.3b 38c2ecf20Sopenharmony_ci - Ensure LEDC bit in GPCNTL is cleared when reading the NVRAM. 48c2ecf20Sopenharmony_ci Fix sent by Stig Telfer <stig@api-networks.com>. 58c2ecf20Sopenharmony_ci - Define scsi_set_pci_device() as nil for kernel < 2.4.4. 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ciMon Feb 12 22:30 2001 Gerard Roudier (groudier@club-internet.fr) 88c2ecf20Sopenharmony_ci * version ncr53c8xx-3.4.3 98c2ecf20Sopenharmony_ci - Call pci_enable_device() as AC wants this to be done. 108c2ecf20Sopenharmony_ci - Get both the BAR cookies actual and PCI BAR values. 118c2ecf20Sopenharmony_ci (see Changelog.sym53c8xx rev. 1.7.3 for details) 128c2ecf20Sopenharmony_ci - Merge changes for linux-2.4 that declare the host template 138c2ecf20Sopenharmony_ci in the driver object also when the driver is statically 148c2ecf20Sopenharmony_ci linked with the kernel. 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciSun Sep 24 21:30 2000 Gerard Roudier (groudier@club-internet.fr) 178c2ecf20Sopenharmony_ci * version ncr53c8xx-3.4.2 188c2ecf20Sopenharmony_ci - See Changelog.sym53c8xx, driver version 1.7.2. 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ciWed Jul 26 23:30 2000 Gerard Roudier (groudier@club-internet.fr) 218c2ecf20Sopenharmony_ci * version ncr53c8xx-3.4.1 228c2ecf20Sopenharmony_ci - Provide OpenFirmware path through the proc FS on PPC. 238c2ecf20Sopenharmony_ci - Remove trailing argument #2 from a couple of #undefs. 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ciSun Jul 09 16:30 2000 Gerard Roudier (groudier@club-internet.fr) 268c2ecf20Sopenharmony_ci * version ncr53c8xx-3.4.0 278c2ecf20Sopenharmony_ci - Remove the PROFILE C and SCRIPTS code. 288c2ecf20Sopenharmony_ci This facility was not this useful and thus was not longer 298c2ecf20Sopenharmony_ci desirable given the increasing complexity of the driver code. 308c2ecf20Sopenharmony_ci - Merges from FreeBSD sym-1.6.2 driver: 318c2ecf20Sopenharmony_ci * Clarify memory barriers needed by the driver for architectures 328c2ecf20Sopenharmony_ci that implement a weak memory ordering. 338c2ecf20Sopenharmony_ci - General cleanup: 348c2ecf20Sopenharmony_ci Move definitions for barriers and IO/MMIO operations to the 358c2ecf20Sopenharmony_ci sym53c8xx_defs.h header files. They are now shared by the 368c2ecf20Sopenharmony_ci both drivers. 378c2ecf20Sopenharmony_ci Use SCSI_NCR_IOMAPPED instead of NCR_IOMAPPED. 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ciThu May 11 12:30 2000 Pam Delaney (pam.delaney@lsil.com) 408c2ecf20Sopenharmony_ci * revision 3.3b 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ciMon Apr 24 12:00 2000 Gerard Roudier (groudier@club-internet.fr) 438c2ecf20Sopenharmony_ci * revision 3.2i 448c2ecf20Sopenharmony_ci - Return value 1 (instead of 0) from the driver setup routine. 458c2ecf20Sopenharmony_ci - Let the driver also attach controllers that have been set to 468c2ecf20Sopenharmony_ci OFF in the NVRAM as it did prior to revision 3.2g. 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ciSat Apr 1 12:00 2000 Gerard Roudier (groudier@club-internet.fr) 498c2ecf20Sopenharmony_ci * revision 3.2h 508c2ecf20Sopenharmony_ci - Fix a compilation problem on Alpha introduced in version 3.2g. 518c2ecf20Sopenharmony_ci (`port' changed to `base_io'). 528c2ecf20Sopenharmony_ci - Move from `sym' to this driver a tiny change for __sparc__ that 538c2ecf20Sopenharmony_ci applies to cache line size (? Probably from David S Miller). 548c2ecf20Sopenharmony_ci - Make sure no data transfer will happen for Scsi_Cmnd requests 558c2ecf20Sopenharmony_ci that supply SCSI_DATA_NONE direction (this avoids some BUG() 568c2ecf20Sopenharmony_ci statement in the PCI code when a data buffer is also supplied). 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ciThu Mar 16 9:30 2000 Pam Delaney (pam.delaney@lsil.com) 598c2ecf20Sopenharmony_ci * revision 3.3b-3 608c2ecf20Sopenharmony_ci - Added exclusion for the 53C1010 and 53C1010_66 chips 618c2ecf20Sopenharmony_ci to the driver (change to sym53c8xx_comm.h). 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ciMon March 6 23:15 2000 Gerard Roudier (groudier@club-internet.fr) 648c2ecf20Sopenharmony_ci * revision 3.2g 658c2ecf20Sopenharmony_ci - Add the file sym53c8xx_comm.h that collects code that should 668c2ecf20Sopenharmony_ci be shared by sym53c8xx and ncr53c8xx drivers. For now, it is 678c2ecf20Sopenharmony_ci a header file that is only included by the ncr53c8xx driver, 688c2ecf20Sopenharmony_ci but things will be cleaned up later. This code addresses 698c2ecf20Sopenharmony_ci notably: 708c2ecf20Sopenharmony_ci * Chip detection and PCI related initialisations 718c2ecf20Sopenharmony_ci * NVRAM detection and reading 728c2ecf20Sopenharmony_ci * DMA mapping 738c2ecf20Sopenharmony_ci * Boot setup command 748c2ecf20Sopenharmony_ci * And some other ... 758c2ecf20Sopenharmony_ci - Add support for the new dynamic dma mapping kernel interface. 768c2ecf20Sopenharmony_ci Requires Linux-2.3.47 (tested with pre-2.3.47-6). 778c2ecf20Sopenharmony_ci - Get data transfer direction from the scsi command structure 788c2ecf20Sopenharmony_ci (Scsi_Cmnd) when this information is available. 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ciMon March 6 23:15 2000 Gerard Roudier (groudier@club-internet.fr) 818c2ecf20Sopenharmony_ci * revision 3.2g 828c2ecf20Sopenharmony_ci - Add the file sym53c8xx_comm.h that collects code that should 838c2ecf20Sopenharmony_ci be shared by sym53c8xx and ncr53c8xx drivers. For now, it is 848c2ecf20Sopenharmony_ci a header file that is only included by the ncr53c8xx driver, 858c2ecf20Sopenharmony_ci but things will be cleaned up later. This code addresses 868c2ecf20Sopenharmony_ci notably: 878c2ecf20Sopenharmony_ci * Chip detection and PCI related initialisations 888c2ecf20Sopenharmony_ci * NVRAM detection and reading 898c2ecf20Sopenharmony_ci * DMA mapping 908c2ecf20Sopenharmony_ci * Boot setup command 918c2ecf20Sopenharmony_ci * And some other ... 928c2ecf20Sopenharmony_ci - Add support for the new dynamic dma mapping kernel interface. 938c2ecf20Sopenharmony_ci Requires Linux-2.3.47 (tested with pre-2.3.47-6). 948c2ecf20Sopenharmony_ci - Get data transfer direction from the scsi command structure 958c2ecf20Sopenharmony_ci (Scsi_Cmnd) when this information is available. 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ciFri Jan 14 14:00 2000 Pam Delaney (pam.delaney@lsil.com) 988c2ecf20Sopenharmony_ci * revision pre-3.3b-1 998c2ecf20Sopenharmony_ci - Merge parallel driver series 3.31 and 3.2e 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ciTue Jan 11 14:00 2000 Pam Delaney (pam.delaney@lsil.com) 1028c2ecf20Sopenharmony_ci * revision 3.31 1038c2ecf20Sopenharmony_ci - Added support for mounting disks on wide-narrow-wide 1048c2ecf20Sopenharmony_ci scsi configurations. 1058c2ecf20Sopenharmony_ci - Built off of version 3.30 1068c2ecf20Sopenharmony_ci 1078c2ecf20Sopenharmony_ciMon Jan 10 13:30 2000 Pam Delaney (pam.delaney@lsil.com) 1088c2ecf20Sopenharmony_ci * revision 3.30 1098c2ecf20Sopenharmony_ci - Added capability to use the integrity checking code 1108c2ecf20Sopenharmony_ci in the kernel (optional). 1118c2ecf20Sopenharmony_ci - Disabled support for the 53C1010. 1128c2ecf20Sopenharmony_ci - Built off of version 3.2c 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_ciSat Jan 8 22:00 2000 Gerard Roudier (groudier@club-internet.fr) 1158c2ecf20Sopenharmony_ci * revision 3.2e 1168c2ecf20Sopenharmony_ci - Add year 2000 copyright. 1178c2ecf20Sopenharmony_ci - Display correctly bus signals when bus is detected wrong. 1188c2ecf20Sopenharmony_ci - Remove the dead code that broke driver 3.2d. 1198c2ecf20Sopenharmony_ci 1208c2ecf20Sopenharmony_ciMon Dec 6 22:00 1999 Gerard Roudier (groudier@club-internet.fr) 1218c2ecf20Sopenharmony_ci * revision 3.2d 1228c2ecf20Sopenharmony_ci - Change messages written by the driver at initialisation and 1238c2ecf20Sopenharmony_ci through the /proc FS (rather cosmetic changes that consist in 1248c2ecf20Sopenharmony_ci printing out the PCI bus number and device/function). 1258c2ecf20Sopenharmony_ci - Get rid of the old PCI bios interface, but preserve kernel 2.0 1268c2ecf20Sopenharmony_ci compatibility from a simple wrapper. 1278c2ecf20Sopenharmony_ci - Remove the compilation condition about having to acquire the 1288c2ecf20Sopenharmony_ci io_request_lock since it seems to be a definite feature now.:) 1298c2ecf20Sopenharmony_ci - proc_dir structure no longer needed for kernel >= 2.3.27. 1308c2ecf20Sopenharmony_ci - Change the driver detection code by the sym53c8xx one, modulo 1318c2ecf20Sopenharmony_ci some minor changes. The driver can now attach any number of 1328c2ecf20Sopenharmony_ci controllers (>40) and does no longer hoger stack space at 1338c2ecf20Sopenharmony_ci initialisation. 1348c2ecf20Sopenharmony_ci - Definitely disable overlapped PCI arbitration for all dual 1358c2ecf20Sopenharmony_ci function chips, since I cannot make sure for what chip revisions 1368c2ecf20Sopenharmony_ci it is actually safe. 1378c2ecf20Sopenharmony_ci - Add support for the SYM53C1510D. 1388c2ecf20Sopenharmony_ci - Update the poor Tekram sync factor table. 1398c2ecf20Sopenharmony_ci - Remove the compilation condition about having to acquire the 1408c2ecf20Sopenharmony_ci io_request_lock since it seems to be a definite feature now.:) 1418c2ecf20Sopenharmony_ci - proc_dir structure no longer needed for kernel >= 2.3.27. 1428c2ecf20Sopenharmony_ci 1438c2ecf20Sopenharmony_ciSat Sep 11 18:00 1999 Gerard Roudier (groudier@club-internet.fr) 1448c2ecf20Sopenharmony_ci * revision 3.2c 1458c2ecf20Sopenharmony_ci - Handle correctly (hopefully) jiffies wrap-around. 1468c2ecf20Sopenharmony_ci - Restore the entry used to detect 875 until revision 0xff. 1478c2ecf20Sopenharmony_ci (I removed it inadvertently, it seems :) ) 1488c2ecf20Sopenharmony_ci - Replace __initfunc() which is deprecated stuff by __init which 1498c2ecf20Sopenharmony_ci is not yet so. ;-) 1508c2ecf20Sopenharmony_ci - Add support of some 'resource handling' for linux-2.3.13. 1518c2ecf20Sopenharmony_ci Basically the BARs have been changed to something more complex 1528c2ecf20Sopenharmony_ci in the pci_dev structure. 1538c2ecf20Sopenharmony_ci - Remove some deprecated code. 1548c2ecf20Sopenharmony_ci 1558c2ecf20Sopenharmony_ciSat May 10 11:00 1999 Gerard Roudier (groudier@club-internet.fr) 1568c2ecf20Sopenharmony_ci * revision pre-3.2b-1 1578c2ecf20Sopenharmony_ci - Support for the 53C895A by Pamela Delaney <pam.delaney@lsil.com> 1588c2ecf20Sopenharmony_ci The 53C895A contains all of the features of the 896 but has only 1598c2ecf20Sopenharmony_ci one channel and has a 32 bit PCI bus. It does 64 bit PCI addressing 1608c2ecf20Sopenharmony_ci using dual cycle PCI data transfers. 1618c2ecf20Sopenharmony_ci - Miscellaneous minor fixes. 1628c2ecf20Sopenharmony_ci - Some additions to the README.ncr53c8xx file. 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ciSun Apr 11 10:00 1999 Gerard Roudier (groudier@club-internet.fr) 1658c2ecf20Sopenharmony_ci * revision 3.2a 1668c2ecf20Sopenharmony_ci - Add 'hostid:#id' boot option. This option allows to change the 1678c2ecf20Sopenharmony_ci default SCSI id the driver uses for controllers. 1688c2ecf20Sopenharmony_ci - Remove nvram layouts and driver set-up structures from the C source, 1698c2ecf20Sopenharmony_ci and use the one defined in sym53c8xx_defs.h file. 1708c2ecf20Sopenharmony_ci (shared by both drivers). 1718c2ecf20Sopenharmony_ci - Set for now MAX LUNS to 16 (instead of 8). 1728c2ecf20Sopenharmony_ci 1738c2ecf20Sopenharmony_ciThu Mar 11 23:00 1999 Gerard Roudier (groudier@club-internet.fr) 1748c2ecf20Sopenharmony_ci * revision 3.2 (8xx-896 driver bundle) 1758c2ecf20Sopenharmony_ci - Only define the host template in ncr53c8xx.h and include the 1768c2ecf20Sopenharmony_ci sym53c8xx_defs.h file. 1778c2ecf20Sopenharmony_ci - Declare static all symbols that do not need to be visible from 1788c2ecf20Sopenharmony_ci outside the driver code. 1798c2ecf20Sopenharmony_ci - Add 'excl' boot command option that allows to pass to the driver 1808c2ecf20Sopenharmony_ci io address of devices not to attach. 1818c2ecf20Sopenharmony_ci - Add info() function called from the host template to print 1828c2ecf20Sopenharmony_ci driver/host information. 1838c2ecf20Sopenharmony_ci - Minor documentation additions. 1848c2ecf20Sopenharmony_ci 1858c2ecf20Sopenharmony_ciSat Mar 6 11:00 1999 Gerard Roudier (groudier@club-internet.fr) 1868c2ecf20Sopenharmony_ci * revision 3.1h 1878c2ecf20Sopenharmony_ci - Fix some oooold bug that hangs the bus if a device rejects a 1888c2ecf20Sopenharmony_ci negotiation. Btw, the corresponding stuff also needed some cleanup 1898c2ecf20Sopenharmony_ci and thus the change is a bit larger than it could have been. 1908c2ecf20Sopenharmony_ci - Still some typo that made compilation fail for 64 bit (trivial fix). 1918c2ecf20Sopenharmony_ci 1928c2ecf20Sopenharmony_ciSun Feb 14:00 1999 Gerard Roudier (groudier@club-internet.fr) 1938c2ecf20Sopenharmony_ci * revision 3.1g 1948c2ecf20Sopenharmony_ci - Deal correctly with 64 bit PCI address registers on Linux 2.2. 1958c2ecf20Sopenharmony_ci Pointed out by Leonard Zubkoff. 1968c2ecf20Sopenharmony_ci - Allow to tune request_irq() flags from the boot command line using 1978c2ecf20Sopenharmony_ci ncr53c8xx=irqm:??, as follows: 1988c2ecf20Sopenharmony_ci a) If bit 0x10 is set in irqm, IRQF_SHARED flag is not used. 1998c2ecf20Sopenharmony_ci b) If bit 0x20 is set in irqm, IRQF_DISABLED flag is not used. 2008c2ecf20Sopenharmony_ci By default the driver uses both IRQF_SHARED and IRQF_DISABLED. 2018c2ecf20Sopenharmony_ci Option 'ncr53c8xx=irqm:0x20' may be used when an IRQ is shared by 2028c2ecf20Sopenharmony_ci a 53C8XX adapter and a network board. 2038c2ecf20Sopenharmony_ci - Tiny misspelling fixed (ABORT instead of ABRT). Was fortunately 2048c2ecf20Sopenharmony_ci harmless. 2058c2ecf20Sopenharmony_ci - Negotiate SYNC data transfers with CCS devices. 2068c2ecf20Sopenharmony_ci 2078c2ecf20Sopenharmony_ciSat Jan 16 17:30 1999 Gerard Roudier (groudier@club-internet.fr) 2088c2ecf20Sopenharmony_ci * revision 3.1f 2098c2ecf20Sopenharmony_ci - Some PCI fix-ups not needed any more for PPC (from Cort). 2108c2ecf20Sopenharmony_ci - Cache line size set to 16 DWORDS for Sparc (from DSM). 2118c2ecf20Sopenharmony_ci - Waiting list look-up didn't work for the first command of the list. 2128c2ecf20Sopenharmony_ci - Remove 2 useless lines of code. 2138c2ecf20Sopenharmony_ci 2148c2ecf20Sopenharmony_ciSun Dec 13 18:00 1998 Gerard Roudier (groudier@club-internet.fr) 2158c2ecf20Sopenharmony_ci * revision 3.1e 2168c2ecf20Sopenharmony_ci - Same work-around as for the 53c876 rev <= 0x15 for 53c896 rev 1: 2178c2ecf20Sopenharmony_ci Disable overlapped arbitration. This will not make difference 2188c2ecf20Sopenharmony_ci since the chip has on-chip RAM. 2198c2ecf20Sopenharmony_ci 2208c2ecf20Sopenharmony_ciThu Nov 26 22:00 1998 Gerard Roudier (groudier@club-internet.fr) 2218c2ecf20Sopenharmony_ci * revision 3.1d 2228c2ecf20Sopenharmony_ci - The SISL RAID change requires now remap_pci_mem() stuff to be 2238c2ecf20Sopenharmony_ci compiled for __i386__ when normal IOs are used. 2248c2ecf20Sopenharmony_ci - Minor spelling fixes in doc files. 2258c2ecf20Sopenharmony_ci 2268c2ecf20Sopenharmony_ciSat Nov 21 18:00 1998 Gerard Roudier (groudier@club-internet.fr) 2278c2ecf20Sopenharmony_ci * revision 3.1c 2288c2ecf20Sopenharmony_ci - Ignore chips that are driven by SISL RAID (DAC 960). 2298c2ecf20Sopenharmony_ci Change sent by Leonard Zubkoff and slightly reworked. 2308c2ecf20Sopenharmony_ci - Still a buglet in the tags initial settings that needed to be fixed. 2318c2ecf20Sopenharmony_ci It was not possible to disable TGQ at system startup for devices 2328c2ecf20Sopenharmony_ci that claim TGQ support. The driver used at least 2 for the queue 2338c2ecf20Sopenharmony_ci depth but did'nt keep track of user settings for tags depth lower 2348c2ecf20Sopenharmony_ci than 2. 2358c2ecf20Sopenharmony_ci 2368c2ecf20Sopenharmony_ciWed Nov 11 10:00 1998 Gerard Roudier (groudier@club-internet.fr) 2378c2ecf20Sopenharmony_ci * revision 3.1b 2388c2ecf20Sopenharmony_ci - The driver was unhappy when configured with default_tags > MAX_TAGS 2398c2ecf20Sopenharmony_ci Hopefully doubly-fixed. 2408c2ecf20Sopenharmony_ci - Update the Configure.help driver section that speaks of TAGS. 2418c2ecf20Sopenharmony_ci 2428c2ecf20Sopenharmony_ciWed Oct 21 21:00 1998 Gerard Roudier (groudier@club-internet.fr) 2438c2ecf20Sopenharmony_ci * revision 3.1a 2448c2ecf20Sopenharmony_ci - Changes from Eddie Dost for Sparc and Alpha: 2458c2ecf20Sopenharmony_ci ioremap/iounmap support for Sparc. 2468c2ecf20Sopenharmony_ci pcivtophys changed to bus_dvma_to_phys. 2478c2ecf20Sopenharmony_ci - Add the 53c876 description to the chip table. This is only useful 2488c2ecf20Sopenharmony_ci for printing the right name of the controller. 2498c2ecf20Sopenharmony_ci - DEL-441 Item 2 work-around for the 53c876 rev <= 5 (0x15). 2508c2ecf20Sopenharmony_ci - Add additional checking of INQUIRY data: 2518c2ecf20Sopenharmony_ci Check INQUIRY data received length is at least 7. Byte 7 of 2528c2ecf20Sopenharmony_ci inquiry data contains device features bits and the driver might 2538c2ecf20Sopenharmony_ci be confused by garbage. Also check peripheral qualifier. 2548c2ecf20Sopenharmony_ci - Cleanup of the SCSI tasks management: 2558c2ecf20Sopenharmony_ci Remove the special case for 32 tags. Now the driver only uses the 2568c2ecf20Sopenharmony_ci scheme that allows up to 64 tags per LUN. 2578c2ecf20Sopenharmony_ci Merge some code from the 896 driver. 2588c2ecf20Sopenharmony_ci Use a 1,3,5,...MAXTAGS*2+1 tag numbering. Previous driver could 2598c2ecf20Sopenharmony_ci use any tag number from 1 to 253 and some non conformant devices 2608c2ecf20Sopenharmony_ci might have problems with large tag numbers. 2618c2ecf20Sopenharmony_ci - 'no_sync' changed to 'no_disc' in the README file. This is an old 2628c2ecf20Sopenharmony_ci and trivial mistake that seems to demonstrate the README file is 2638c2ecf20Sopenharmony_ci not often read. :) 2648c2ecf20Sopenharmony_ci 2658c2ecf20Sopenharmony_ciSun Oct 4 14:00 1998 Gerard Roudier (groudier@club-internet.fr) 2668c2ecf20Sopenharmony_ci * revision 3.0i 2678c2ecf20Sopenharmony_ci - Cosmetic changes for sparc (but not for the driver) that needs 2688c2ecf20Sopenharmony_ci __irq_itoa() to be used for printed IRQ value to be understandable. 2698c2ecf20Sopenharmony_ci - Some problems with the driver that didn't occur using driver 2.5f 2708c2ecf20Sopenharmony_ci were due to a SCSI selection problem triggered by a clearly 2718c2ecf20Sopenharmony_ci documented feature that in fact seems not to work: (53C8XX chips 2728c2ecf20Sopenharmony_ci are claimed by the manuals to be able to execute SCSI scripts just 2738c2ecf20Sopenharmony_ci after abitration while the SCSI core is performing SCSI selection). 2748c2ecf20Sopenharmony_ci This optimization is broken and has been removed. 2758c2ecf20Sopenharmony_ci - Some broken scsi devices are confused when a negotiation is started 2768c2ecf20Sopenharmony_ci on a LUN that does not correspond to a real device. According to 2778c2ecf20Sopenharmony_ci SCSI specs, this is a device firmware bug. This has been worked 2788c2ecf20Sopenharmony_ci around by only starting negotiation if the LUN has previously be 2798c2ecf20Sopenharmony_ci used for at least 1 successful SCSI command. 2808c2ecf20Sopenharmony_ci - The 'last message sent' printed out on M_REJECT message reception 2818c2ecf20Sopenharmony_ci was read from the SFBR i/o register after the previous message had 2828c2ecf20Sopenharmony_ci been sent. 2838c2ecf20Sopenharmony_ci This was not correct and affects all previous driver versions and 2848c2ecf20Sopenharmony_ci the original FreeBSD one as well. The SCSI scripts has been fixed 2858c2ecf20Sopenharmony_ci so that it now provides the right information to the C code. 2868c2ecf20Sopenharmony_ci 2878c2ecf20Sopenharmony_ciSat Jul 18 13:00 1998 Gerard Roudier (groudier@club-internet.fr) 2888c2ecf20Sopenharmony_ci * revision 3.0g 2898c2ecf20Sopenharmony_ci - Preliminary fixes for Big Endian (sent by Eddie C. Dost). 2908c2ecf20Sopenharmony_ci Big Endian architectures should work again with the driver. 2918c2ecf20Sopenharmony_ci Eddie's patch has been partially applied since current 2.1.109 2928c2ecf20Sopenharmony_ci does not have all the Sparc changes of the vger tree. 2938c2ecf20Sopenharmony_ci - Use of BITS_PER_LONG instead of (~0UL == 0xffffffffUL) has fixed 2948c2ecf20Sopenharmony_ci the problem observed when the driver was compiled using EGCS or 2958c2ecf20Sopenharmony_ci PGCC. 2968c2ecf20Sopenharmony_ci 2978c2ecf20Sopenharmony_ciMon Jul 13 20:00 1998 Gerard Roudier (groudier@club-internet.fr) 2988c2ecf20Sopenharmony_ci * revision 3.0f 2998c2ecf20Sopenharmony_ci - Some spelling fixes. 3008c2ecf20Sopenharmony_ci - linux/config.h misplaced in ncr53c8xx.h 3018c2ecf20Sopenharmony_ci - MODULE_PARM stuff added for linux 2.1. 3028c2ecf20Sopenharmony_ci - check INQUIRY response data format is exactly 2. 3038c2ecf20Sopenharmony_ci - use BITS_PER_LONG if defined. 3048c2ecf20Sopenharmony_ci 3058c2ecf20Sopenharmony_ciSun Jun 28 12:00 1998 Gerard Roudier (groudier@club-internet.fr) 3068c2ecf20Sopenharmony_ci * revision 3.0e 3078c2ecf20Sopenharmony_ci - Some cleanup, spelling fixes, version checks, documentations 3088c2ecf20Sopenharmony_ci changes, etc ... 3098c2ecf20Sopenharmony_ci 3108c2ecf20Sopenharmony_ciSat Jun 20 20:00 1998 Gerard Roudier (groudier@club-internet.fr) 3118c2ecf20Sopenharmony_ci * revision 3.0c 3128c2ecf20Sopenharmony_ci - Add a boot setup option that allows to set up device queue depths 3138c2ecf20Sopenharmony_ci at boot-up. This option is very useful since Linux does not 3148c2ecf20Sopenharmony_ci allow to change scsi device queue depth once the system has been 3158c2ecf20Sopenharmony_ci booted up. 3168c2ecf20Sopenharmony_ci 3178c2ecf20Sopenharmony_ciSun Jun 15 23:00 1998 Gerard Roudier (groudier@club-internet.fr) 3188c2ecf20Sopenharmony_ci * revision 3.0a 3198c2ecf20Sopenharmony_ci - Support for up to 64 TAGS per LUN. 3208c2ecf20Sopenharmony_ci - Rewrite the TARGET vs LUN capabilities management. 3218c2ecf20Sopenharmony_ci CmdQueue is now handled as a LUN capability as it shall be. 3228c2ecf20Sopenharmony_ci This also fixes a bug triggered when disabling tagged command 3238c2ecf20Sopenharmony_ci queuing for a device that had this feature enabled. 3248c2ecf20Sopenharmony_ci - Remove the ncr_opennings() stuff that was useless under Linux 3258c2ecf20Sopenharmony_ci and hard to understand to me. 3268c2ecf20Sopenharmony_ci - Add "setverbose" procfs driver command. It allows to tune 3278c2ecf20Sopenharmony_ci verbose level after boot-up. Setting this level to zero, for 3288c2ecf20Sopenharmony_ci example avoid flooding the syslog file. 3298c2ecf20Sopenharmony_ci - Add KERN_XXX to some printk's. 3308c2ecf20Sopenharmony_ci 3318c2ecf20Sopenharmony_ciTue Jun 10 23:00 1998 Gerard Roudier (groudier@club-internet.fr) 3328c2ecf20Sopenharmony_ci * revision 3.0 3338c2ecf20Sopenharmony_ci - Linux config changes for 2.0.34: 3348c2ecf20Sopenharmony_ci Remove NVRAM detection config option. This option is now enabled 3358c2ecf20Sopenharmony_ci by default but can be disabled by editing the driver header file. 3368c2ecf20Sopenharmony_ci Add a PROFILE config option. 3378c2ecf20Sopenharmony_ci - Update Configure.help 3388c2ecf20Sopenharmony_ci - Add calls to new function mdelay() for milli-seconds delay if 3398c2ecf20Sopenharmony_ci kernel version >= 2.1.105. 3408c2ecf20Sopenharmony_ci - Replace all printf(s) by printk(s). After all, the ncr53c8xx is 3418c2ecf20Sopenharmony_ci a driver for Linux. 3428c2ecf20Sopenharmony_ci - Perform auto-sense on COMMAND TERMINATED. Not sure it is useful. 3438c2ecf20Sopenharmony_ci - Some other minor changes. 3448c2ecf20Sopenharmony_ci 3458c2ecf20Sopenharmony_ciTue Jun 4 23:00 1998 Gerard Roudier (groudier@club-internet.fr) 3468c2ecf20Sopenharmony_ci * revision 2.6n 3478c2ecf20Sopenharmony_ci - Code cleanup and simplification: 3488c2ecf20Sopenharmony_ci Remove kernel 1.2.X and 1.3.X support. 3498c2ecf20Sopenharmony_ci Remove the _old_ target capabilities table. 3508c2ecf20Sopenharmony_ci Remove the error recovery code that have'nt been really useful. 3518c2ecf20Sopenharmony_ci Use a single alignment boundary (CACHE_LINE_SIZE) for data 3528c2ecf20Sopenharmony_ci structures. 3538c2ecf20Sopenharmony_ci - Several aggressive SCRIPTS optimizations and changes: 3548c2ecf20Sopenharmony_ci Reselect SCRIPTS code rewritten. 3558c2ecf20Sopenharmony_ci Support for selection/reselection without ATN. 3568c2ecf20Sopenharmony_ci And some others. 3578c2ecf20Sopenharmony_ci - Miscallaneous changes in the C code: 3588c2ecf20Sopenharmony_ci Count actual number of CCB queued to the controller (future use). 3598c2ecf20Sopenharmony_ci Lots of other minor changes. 3608c2ecf20Sopenharmony_ci 3618c2ecf20Sopenharmony_ciWed May 13 20:00 1998 Gerard Roudier (groudier@club-internet.fr) 3628c2ecf20Sopenharmony_ci * revision 2.6m 3638c2ecf20Sopenharmony_ci - Problem of missed SCSI bus reset with the 53C895 fixed by 3648c2ecf20Sopenharmony_ci Richard Waltham. The 53C895 needs about 650 us for the bus 3658c2ecf20Sopenharmony_ci mode to settle. Delays used while resetting the controller 3668c2ecf20Sopenharmony_ci and the bus have been adjusted. Thanks Richard! 3678c2ecf20Sopenharmony_ci - Some simplification for 64 bit arch done ccb address testing. 3688c2ecf20Sopenharmony_ci - Add a check of the MSG_OUT phase after Selection with ATN. 3698c2ecf20Sopenharmony_ci - The new tagged queue stuff seems ok, so some informationnal 3708c2ecf20Sopenharmony_ci message have been conditionned by verbose >= 3. 3718c2ecf20Sopenharmony_ci - Donnot reset if a SBMC interrupt reports the same bus mode. 3728c2ecf20Sopenharmony_ci - Print out the whole driver set-up. Some options were missing and 3738c2ecf20Sopenharmony_ci the print statement was misplaced for modules. 3748c2ecf20Sopenharmony_ci - Ignore a SCSI parity interrupt if the chip is not connected to 3758c2ecf20Sopenharmony_ci the SCSI bus. 3768c2ecf20Sopenharmony_ci 3778c2ecf20Sopenharmony_ciSat May 1 16:00 1998 Gerard Roudier (groudier@club-internet.fr) 3788c2ecf20Sopenharmony_ci * revision 2.6l 3798c2ecf20Sopenharmony_ci - Add CCB done queue support for Alpha and perhaps some other 3808c2ecf20Sopenharmony_ci architectures. 3818c2ecf20Sopenharmony_ci - Add some barriers to enforce memory ordering for x86 and 3828c2ecf20Sopenharmony_ci Alpha architectures. 3838c2ecf20Sopenharmony_ci - Fix something that looks like an old bug in the nego SIR 3848c2ecf20Sopenharmony_ci interrupt code in case of negotiation failure. 3858c2ecf20Sopenharmony_ci 3868c2ecf20Sopenharmony_ciSat Apr 25 21:00 1998 Gerard Roudier (groudier@club-internet.fr) 3878c2ecf20Sopenharmony_ci * revision 2.6k 3888c2ecf20Sopenharmony_ci - Remove all accesses to the on-chip RAM from the C code: 3898c2ecf20Sopenharmony_ci Use SCRIPTS to load the on-chip RAM. 3908c2ecf20Sopenharmony_ci Use SCRIPTS to repair the start queue on selection timeout. 3918c2ecf20Sopenharmony_ci Use the copy of script in main memory to calculate the chip 3928c2ecf20Sopenharmony_ci context on phase mismatch. 3938c2ecf20Sopenharmony_ci - The above allows now to use the on-chip RAM without requiring 3948c2ecf20Sopenharmony_ci to get access to the on-chip RAM from the C code. This makes 3958c2ecf20Sopenharmony_ci on-chip RAM useable for linux-1.2.13 and for Linux-Alpha for 3968c2ecf20Sopenharmony_ci instance. 3978c2ecf20Sopenharmony_ci - Some simplifications and cleanups in the SCRIPTS and C code. 3988c2ecf20Sopenharmony_ci - Buglet fixed in parity error recovery SCRIPTS (never tested). 3998c2ecf20Sopenharmony_ci - Minor updates in README.ncr53c8xx. 4008c2ecf20Sopenharmony_ci 4018c2ecf20Sopenharmony_ciWed Apr 15 21:00 1998 Gerard Roudier (groudier@club-internet.fr) 4028c2ecf20Sopenharmony_ci * revision 2.6j 4038c2ecf20Sopenharmony_ci - Incorporate changes from linux-2.1.95 ncr53c8xx driver version. 4048c2ecf20Sopenharmony_ci - Add SMP support for linux-2.1.95 and above. 4058c2ecf20Sopenharmony_ci - Fix a bug when QUEUE FULL is returned and no commands are 4068c2ecf20Sopenharmony_ci disconnected. This happens with Atlas I / L912 and may happen 4078c2ecf20Sopenharmony_ci with Atlas II / LXY4. 4088c2ecf20Sopenharmony_ci - Nail another one on CHECK condition when requeuing the command 4098c2ecf20Sopenharmony_ci for auto-sense. 4108c2ecf20Sopenharmony_ci - Call scsi_done() for all completed commands after interrupt 4118c2ecf20Sopenharmony_ci handling. 4128c2ecf20Sopenharmony_ci - Increase the done queue to 24 entries. 4138c2ecf20Sopenharmony_ci 4148c2ecf20Sopenharmony_ciSat Apr 4 20:00 1998 Gerard Roudier (groudier@club-internet.fr) 4158c2ecf20Sopenharmony_ci * revision 2.6i 4168c2ecf20Sopenharmony_ci - CTEST0 is used by the 53C885 for Power Management and 4178c2ecf20Sopenharmony_ci priority setting between the 2 functions. 4188c2ecf20Sopenharmony_ci Use SDID instead as actual target number. Just have had to 4198c2ecf20Sopenharmony_ci overwrite it with SSID on reselection. 4208c2ecf20Sopenharmony_ci - Split DATA_IN and DATA_OUT scripts into 2 sub-scripts. 4218c2ecf20Sopenharmony_ci 64 segments are moved from on-chip RAM scripts. 4228c2ecf20Sopenharmony_ci If more segments, a script in main memory is used for the 4238c2ecf20Sopenharmony_ci additional segments. 4248c2ecf20Sopenharmony_ci - Since the SCRIPTS processor continues SCRIPTS execution after 4258c2ecf20Sopenharmony_ci having won arbitration, do some stuff prior to testing any SCSI 4268c2ecf20Sopenharmony_ci phase on reselection. This should have the vertue to process 4278c2ecf20Sopenharmony_ci scripts in parallel with the SCSI core performing selection. 4288c2ecf20Sopenharmony_ci - Increase the done queue to 12 entries. 4298c2ecf20Sopenharmony_ci 4308c2ecf20Sopenharmony_ciSun Mar 29 12:00 1998 Gerard Roudier (groudier@club-internet.fr) 4318c2ecf20Sopenharmony_ci * revision 2.6h 4328c2ecf20Sopenharmony_ci - Some fixes. 4338c2ecf20Sopenharmony_ci 4348c2ecf20Sopenharmony_ciTue Mar 26 23:00 1998 Gerard Roudier (groudier@club-internet.fr) 4358c2ecf20Sopenharmony_ci * revision 2.6g 4368c2ecf20Sopenharmony_ci - New done queue. 8 entries by default (6 always useable). 4378c2ecf20Sopenharmony_ci Can be increased if needed. 4388c2ecf20Sopenharmony_ci - Resources management using doubly linked queues. 4398c2ecf20Sopenharmony_ci - New auto-sense and QUEUE FULL handling that does not need to 4408c2ecf20Sopenharmony_ci stall the NCR queue any more. 4418c2ecf20Sopenharmony_ci - New CCB starvation avoiding algorithm. 4428c2ecf20Sopenharmony_ci - Prepare CCBs for SCSI commands that cannot be queued, instead of 4438c2ecf20Sopenharmony_ci inserting these commands into the waiting list. The waiting list 4448c2ecf20Sopenharmony_ci is now only used while resetting and when memory for CCBs is not 4458c2ecf20Sopenharmony_ci yet available? 4468c2ecf20Sopenharmony_ci 4478c2ecf20Sopenharmony_ciSun Feb 8 22:00 1998 Gerard Roudier (groudier@club-internet.fr) 4488c2ecf20Sopenharmony_ci * revision 2.6f 4498c2ecf20Sopenharmony_ci - Some fixes in order to really support the 53C895, at least with 4508c2ecf20Sopenharmony_ci FAST-20 devices. 4518c2ecf20Sopenharmony_ci - Heavy changes in the target/lun resources management to allow 4528c2ecf20Sopenharmony_ci the scripts to jump directly to the CCB on reselection instead 4538c2ecf20Sopenharmony_ci of walking on the lun CCBs list. Up to 32 tags per lun are now 4548c2ecf20Sopenharmony_ci supported without script processor and PCI traffic overhead. 4558c2ecf20Sopenharmony_ci 4568c2ecf20Sopenharmony_ciSun Jan 11 22:00 1998 Gerard Roudier (groudier@club-internet.fr) 4578c2ecf20Sopenharmony_ci * revision 2.6d 4588c2ecf20Sopenharmony_ci - new (different ?) implementation of the start queue: 4598c2ecf20Sopenharmony_ci Use a simple CALL to a launch script in the CCB. 4608c2ecf20Sopenharmony_ci - implement a minimal done queue (1 entry :-) ). 4618c2ecf20Sopenharmony_ci this avoid scanning all CCBs on INT FLY (Only scan all CCBs, on 4628c2ecf20Sopenharmony_ci overflow). Hit ratio is better than 99.9 % on my system, so no 4638c2ecf20Sopenharmony_ci need to have a larger done queue. 4648c2ecf20Sopenharmony_ci - generalization of the restart of CCB on special condition as 4658c2ecf20Sopenharmony_ci Abort, QUEUE FULL, CHECK CONDITION. 4668c2ecf20Sopenharmony_ci This has been called 'silly scheduler'. 4678c2ecf20Sopenharmony_ci - make all the profiling code conditionned by a config option. 4688c2ecf20Sopenharmony_ci This spare some PCI traffic and C code when this feature is not 4698c2ecf20Sopenharmony_ci needed. 4708c2ecf20Sopenharmony_ci - handle more cleanly the situation where direction is unknown. 4718c2ecf20Sopenharmony_ci The pointers patching is now performed by the SCRIPTS processor. 4728c2ecf20Sopenharmony_ci - remove some useless scripts instructions. 4738c2ecf20Sopenharmony_ci 4748c2ecf20Sopenharmony_ci Ported from driver 2.5 series: 4758c2ecf20Sopenharmony_ci ------------------------------ 4768c2ecf20Sopenharmony_ci - Use FAST-5 instead of SLOW for slow scsi devices according to 4778c2ecf20Sopenharmony_ci new SPI-2 draft. 4788c2ecf20Sopenharmony_ci - Make some changes in order to accommodate with 875 rev <= 3 4798c2ecf20Sopenharmony_ci device errata listing 397. Minor consequences are: 4808c2ecf20Sopenharmony_ci . Leave use of PCI Write and Invalidate under user control. 4818c2ecf20Sopenharmony_ci Now, by default the driver does not enable PCI MWI and option 4828c2ecf20Sopenharmony_ci 'specf:y' is required in order to enable this feature. 4838c2ecf20Sopenharmony_ci . Memory Read Line is not enabled for 875 and 875-like chips. 4848c2ecf20Sopenharmony_ci . Programmed burst length set to 64 DWORDS (instead of 128). 4858c2ecf20Sopenharmony_ci (Note: SYMBIOS uses 32 DWORDS for the SDMS BIOS) 4868c2ecf20Sopenharmony_ci - Add 'buschk' boot option. 4878c2ecf20Sopenharmony_ci This option enables checking of SCSI BUS data lines after SCSI 4888c2ecf20Sopenharmony_ci RESET (set by default). (Submitted by Richard Waltham). 4898c2ecf20Sopenharmony_ci - Update the README file. 4908c2ecf20Sopenharmony_ci - Dispatch CONDITION MET and RESERVATION CONFLICT scsi status 4918c2ecf20Sopenharmony_ci as OK driver status. 4928c2ecf20Sopenharmony_ci - Update the README file and the Symbios NVRAM format definition 4938c2ecf20Sopenharmony_ci with removable media flags values (available with SDMS 4.09). 4948c2ecf20Sopenharmony_ci - Several PCI configuration registers fix-ups for powerpc. 4958c2ecf20Sopenharmony_ci (Patch sent by Cort). 496