162306a36Sopenharmony_ciSat May 12 12:00 2001 Gerard Roudier (groudier@club-internet.fr) 262306a36Sopenharmony_ci * version ncr53c8xx-3.4.3b 362306a36Sopenharmony_ci - Ensure LEDC bit in GPCNTL is cleared when reading the NVRAM. 462306a36Sopenharmony_ci Fix sent by Stig Telfer <stig@api-networks.com>. 562306a36Sopenharmony_ci - Define scsi_set_pci_device() as nil for kernel < 2.4.4. 662306a36Sopenharmony_ci 762306a36Sopenharmony_ciMon Feb 12 22:30 2001 Gerard Roudier (groudier@club-internet.fr) 862306a36Sopenharmony_ci * version ncr53c8xx-3.4.3 962306a36Sopenharmony_ci - Call pci_enable_device() as AC wants this to be done. 1062306a36Sopenharmony_ci - Get both the BAR cookies actual and PCI BAR values. 1162306a36Sopenharmony_ci (see Changelog.sym53c8xx rev. 1.7.3 for details) 1262306a36Sopenharmony_ci - Merge changes for linux-2.4 that declare the host template 1362306a36Sopenharmony_ci in the driver object also when the driver is statically 1462306a36Sopenharmony_ci linked with the kernel. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciSun Sep 24 21:30 2000 Gerard Roudier (groudier@club-internet.fr) 1762306a36Sopenharmony_ci * version ncr53c8xx-3.4.2 1862306a36Sopenharmony_ci - See Changelog.sym53c8xx, driver version 1.7.2. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciWed Jul 26 23:30 2000 Gerard Roudier (groudier@club-internet.fr) 2162306a36Sopenharmony_ci * version ncr53c8xx-3.4.1 2262306a36Sopenharmony_ci - Provide OpenFirmware path through the proc FS on PPC. 2362306a36Sopenharmony_ci - Remove trailing argument #2 from a couple of #undefs. 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ciSun Jul 09 16:30 2000 Gerard Roudier (groudier@club-internet.fr) 2662306a36Sopenharmony_ci * version ncr53c8xx-3.4.0 2762306a36Sopenharmony_ci - Remove the PROFILE C and SCRIPTS code. 2862306a36Sopenharmony_ci This facility was not this useful and thus was not longer 2962306a36Sopenharmony_ci desirable given the increasing complexity of the driver code. 3062306a36Sopenharmony_ci - Merges from FreeBSD sym-1.6.2 driver: 3162306a36Sopenharmony_ci * Clarify memory barriers needed by the driver for architectures 3262306a36Sopenharmony_ci that implement a weak memory ordering. 3362306a36Sopenharmony_ci - General cleanup: 3462306a36Sopenharmony_ci Move definitions for barriers and IO/MMIO operations to the 3562306a36Sopenharmony_ci sym53c8xx_defs.h header files. They are now shared by the 3662306a36Sopenharmony_ci both drivers. 3762306a36Sopenharmony_ci Use SCSI_NCR_IOMAPPED instead of NCR_IOMAPPED. 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ciThu May 11 12:30 2000 Pam Delaney (pam.delaney@lsil.com) 4062306a36Sopenharmony_ci * revision 3.3b 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ciMon Apr 24 12:00 2000 Gerard Roudier (groudier@club-internet.fr) 4362306a36Sopenharmony_ci * revision 3.2i 4462306a36Sopenharmony_ci - Return value 1 (instead of 0) from the driver setup routine. 4562306a36Sopenharmony_ci - Let the driver also attach controllers that have been set to 4662306a36Sopenharmony_ci OFF in the NVRAM as it did prior to revision 3.2g. 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ciSat Apr 1 12:00 2000 Gerard Roudier (groudier@club-internet.fr) 4962306a36Sopenharmony_ci * revision 3.2h 5062306a36Sopenharmony_ci - Fix a compilation problem on Alpha introduced in version 3.2g. 5162306a36Sopenharmony_ci (`port' changed to `base_io'). 5262306a36Sopenharmony_ci - Move from `sym' to this driver a tiny change for __sparc__ that 5362306a36Sopenharmony_ci applies to cache line size (? Probably from David S Miller). 5462306a36Sopenharmony_ci - Make sure no data transfer will happen for Scsi_Cmnd requests 5562306a36Sopenharmony_ci that supply SCSI_DATA_NONE direction (this avoids some BUG() 5662306a36Sopenharmony_ci statement in the PCI code when a data buffer is also supplied). 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ciThu Mar 16 9:30 2000 Pam Delaney (pam.delaney@lsil.com) 5962306a36Sopenharmony_ci * revision 3.3b-3 6062306a36Sopenharmony_ci - Added exclusion for the 53C1010 and 53C1010_66 chips 6162306a36Sopenharmony_ci to the driver (change to sym53c8xx_comm.h). 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ciMon March 6 23:15 2000 Gerard Roudier (groudier@club-internet.fr) 6462306a36Sopenharmony_ci * revision 3.2g 6562306a36Sopenharmony_ci - Add the file sym53c8xx_comm.h that collects code that should 6662306a36Sopenharmony_ci be shared by sym53c8xx and ncr53c8xx drivers. For now, it is 6762306a36Sopenharmony_ci a header file that is only included by the ncr53c8xx driver, 6862306a36Sopenharmony_ci but things will be cleaned up later. This code addresses 6962306a36Sopenharmony_ci notably: 7062306a36Sopenharmony_ci * Chip detection and PCI related initialisations 7162306a36Sopenharmony_ci * NVRAM detection and reading 7262306a36Sopenharmony_ci * DMA mapping 7362306a36Sopenharmony_ci * Boot setup command 7462306a36Sopenharmony_ci * And some other ... 7562306a36Sopenharmony_ci - Add support for the new dynamic dma mapping kernel interface. 7662306a36Sopenharmony_ci Requires Linux-2.3.47 (tested with pre-2.3.47-6). 7762306a36Sopenharmony_ci - Get data transfer direction from the scsi command structure 7862306a36Sopenharmony_ci (Scsi_Cmnd) when this information is available. 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ciMon March 6 23:15 2000 Gerard Roudier (groudier@club-internet.fr) 8162306a36Sopenharmony_ci * revision 3.2g 8262306a36Sopenharmony_ci - Add the file sym53c8xx_comm.h that collects code that should 8362306a36Sopenharmony_ci be shared by sym53c8xx and ncr53c8xx drivers. For now, it is 8462306a36Sopenharmony_ci a header file that is only included by the ncr53c8xx driver, 8562306a36Sopenharmony_ci but things will be cleaned up later. This code addresses 8662306a36Sopenharmony_ci notably: 8762306a36Sopenharmony_ci * Chip detection and PCI related initialisations 8862306a36Sopenharmony_ci * NVRAM detection and reading 8962306a36Sopenharmony_ci * DMA mapping 9062306a36Sopenharmony_ci * Boot setup command 9162306a36Sopenharmony_ci * And some other ... 9262306a36Sopenharmony_ci - Add support for the new dynamic dma mapping kernel interface. 9362306a36Sopenharmony_ci Requires Linux-2.3.47 (tested with pre-2.3.47-6). 9462306a36Sopenharmony_ci - Get data transfer direction from the scsi command structure 9562306a36Sopenharmony_ci (Scsi_Cmnd) when this information is available. 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ciFri Jan 14 14:00 2000 Pam Delaney (pam.delaney@lsil.com) 9862306a36Sopenharmony_ci * revision pre-3.3b-1 9962306a36Sopenharmony_ci - Merge parallel driver series 3.31 and 3.2e 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ciTue Jan 11 14:00 2000 Pam Delaney (pam.delaney@lsil.com) 10262306a36Sopenharmony_ci * revision 3.31 10362306a36Sopenharmony_ci - Added support for mounting disks on wide-narrow-wide 10462306a36Sopenharmony_ci scsi configurations. 10562306a36Sopenharmony_ci - Built off of version 3.30 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ciMon Jan 10 13:30 2000 Pam Delaney (pam.delaney@lsil.com) 10862306a36Sopenharmony_ci * revision 3.30 10962306a36Sopenharmony_ci - Added capability to use the integrity checking code 11062306a36Sopenharmony_ci in the kernel (optional). 11162306a36Sopenharmony_ci - Disabled support for the 53C1010. 11262306a36Sopenharmony_ci - Built off of version 3.2c 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ciSat Jan 8 22:00 2000 Gerard Roudier (groudier@club-internet.fr) 11562306a36Sopenharmony_ci * revision 3.2e 11662306a36Sopenharmony_ci - Add year 2000 copyright. 11762306a36Sopenharmony_ci - Display correctly bus signals when bus is detected wrong. 11862306a36Sopenharmony_ci - Remove the dead code that broke driver 3.2d. 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ciMon Dec 6 22:00 1999 Gerard Roudier (groudier@club-internet.fr) 12162306a36Sopenharmony_ci * revision 3.2d 12262306a36Sopenharmony_ci - Change messages written by the driver at initialisation and 12362306a36Sopenharmony_ci through the /proc FS (rather cosmetic changes that consist in 12462306a36Sopenharmony_ci printing out the PCI bus number and device/function). 12562306a36Sopenharmony_ci - Get rid of the old PCI bios interface, but preserve kernel 2.0 12662306a36Sopenharmony_ci compatibility from a simple wrapper. 12762306a36Sopenharmony_ci - Remove the compilation condition about having to acquire the 12862306a36Sopenharmony_ci io_request_lock since it seems to be a definite feature now.:) 12962306a36Sopenharmony_ci - proc_dir structure no longer needed for kernel >= 2.3.27. 13062306a36Sopenharmony_ci - Change the driver detection code by the sym53c8xx one, modulo 13162306a36Sopenharmony_ci some minor changes. The driver can now attach any number of 13262306a36Sopenharmony_ci controllers (>40) and does no longer hoger stack space at 13362306a36Sopenharmony_ci initialisation. 13462306a36Sopenharmony_ci - Definitely disable overlapped PCI arbitration for all dual 13562306a36Sopenharmony_ci function chips, since I cannot make sure for what chip revisions 13662306a36Sopenharmony_ci it is actually safe. 13762306a36Sopenharmony_ci - Add support for the SYM53C1510D. 13862306a36Sopenharmony_ci - Update the poor Tekram sync factor table. 13962306a36Sopenharmony_ci - Remove the compilation condition about having to acquire the 14062306a36Sopenharmony_ci io_request_lock since it seems to be a definite feature now.:) 14162306a36Sopenharmony_ci - proc_dir structure no longer needed for kernel >= 2.3.27. 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ciSat Sep 11 18:00 1999 Gerard Roudier (groudier@club-internet.fr) 14462306a36Sopenharmony_ci * revision 3.2c 14562306a36Sopenharmony_ci - Handle correctly (hopefully) jiffies wrap-around. 14662306a36Sopenharmony_ci - Restore the entry used to detect 875 until revision 0xff. 14762306a36Sopenharmony_ci (I removed it inadvertently, it seems :) ) 14862306a36Sopenharmony_ci - Replace __initfunc() which is deprecated stuff by __init which 14962306a36Sopenharmony_ci is not yet so. ;-) 15062306a36Sopenharmony_ci - Add support of some 'resource handling' for linux-2.3.13. 15162306a36Sopenharmony_ci Basically the BARs have been changed to something more complex 15262306a36Sopenharmony_ci in the pci_dev structure. 15362306a36Sopenharmony_ci - Remove some deprecated code. 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ciSat May 10 11:00 1999 Gerard Roudier (groudier@club-internet.fr) 15662306a36Sopenharmony_ci * revision pre-3.2b-1 15762306a36Sopenharmony_ci - Support for the 53C895A by Pamela Delaney <pam.delaney@lsil.com> 15862306a36Sopenharmony_ci The 53C895A contains all of the features of the 896 but has only 15962306a36Sopenharmony_ci one channel and has a 32 bit PCI bus. It does 64 bit PCI addressing 16062306a36Sopenharmony_ci using dual cycle PCI data transfers. 16162306a36Sopenharmony_ci - Miscellaneous minor fixes. 16262306a36Sopenharmony_ci - Some additions to the README.ncr53c8xx file. 16362306a36Sopenharmony_ci 16462306a36Sopenharmony_ciSun Apr 11 10:00 1999 Gerard Roudier (groudier@club-internet.fr) 16562306a36Sopenharmony_ci * revision 3.2a 16662306a36Sopenharmony_ci - Add 'hostid:#id' boot option. This option allows to change the 16762306a36Sopenharmony_ci default SCSI id the driver uses for controllers. 16862306a36Sopenharmony_ci - Remove nvram layouts and driver set-up structures from the C source, 16962306a36Sopenharmony_ci and use the one defined in sym53c8xx_defs.h file. 17062306a36Sopenharmony_ci (shared by both drivers). 17162306a36Sopenharmony_ci - Set for now MAX LUNS to 16 (instead of 8). 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ciThu Mar 11 23:00 1999 Gerard Roudier (groudier@club-internet.fr) 17462306a36Sopenharmony_ci * revision 3.2 (8xx-896 driver bundle) 17562306a36Sopenharmony_ci - Only define the host template in ncr53c8xx.h and include the 17662306a36Sopenharmony_ci sym53c8xx_defs.h file. 17762306a36Sopenharmony_ci - Declare static all symbols that do not need to be visible from 17862306a36Sopenharmony_ci outside the driver code. 17962306a36Sopenharmony_ci - Add 'excl' boot command option that allows to pass to the driver 18062306a36Sopenharmony_ci io address of devices not to attach. 18162306a36Sopenharmony_ci - Add info() function called from the host template to print 18262306a36Sopenharmony_ci driver/host information. 18362306a36Sopenharmony_ci - Minor documentation additions. 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ciSat Mar 6 11:00 1999 Gerard Roudier (groudier@club-internet.fr) 18662306a36Sopenharmony_ci * revision 3.1h 18762306a36Sopenharmony_ci - Fix some oooold bug that hangs the bus if a device rejects a 18862306a36Sopenharmony_ci negotiation. Btw, the corresponding stuff also needed some cleanup 18962306a36Sopenharmony_ci and thus the change is a bit larger than it could have been. 19062306a36Sopenharmony_ci - Still some typo that made compilation fail for 64 bit (trivial fix). 19162306a36Sopenharmony_ci 19262306a36Sopenharmony_ciSun Feb 14:00 1999 Gerard Roudier (groudier@club-internet.fr) 19362306a36Sopenharmony_ci * revision 3.1g 19462306a36Sopenharmony_ci - Deal correctly with 64 bit PCI address registers on Linux 2.2. 19562306a36Sopenharmony_ci Pointed out by Leonard Zubkoff. 19662306a36Sopenharmony_ci - Allow to tune request_irq() flags from the boot command line using 19762306a36Sopenharmony_ci ncr53c8xx=irqm:??, as follows: 19862306a36Sopenharmony_ci a) If bit 0x10 is set in irqm, IRQF_SHARED flag is not used. 19962306a36Sopenharmony_ci b) If bit 0x20 is set in irqm, IRQF_DISABLED flag is not used. 20062306a36Sopenharmony_ci By default the driver uses both IRQF_SHARED and IRQF_DISABLED. 20162306a36Sopenharmony_ci Option 'ncr53c8xx=irqm:0x20' may be used when an IRQ is shared by 20262306a36Sopenharmony_ci a 53C8XX adapter and a network board. 20362306a36Sopenharmony_ci - Tiny misspelling fixed (ABORT instead of ABRT). Was fortunately 20462306a36Sopenharmony_ci harmless. 20562306a36Sopenharmony_ci - Negotiate SYNC data transfers with CCS devices. 20662306a36Sopenharmony_ci 20762306a36Sopenharmony_ciSat Jan 16 17:30 1999 Gerard Roudier (groudier@club-internet.fr) 20862306a36Sopenharmony_ci * revision 3.1f 20962306a36Sopenharmony_ci - Some PCI fix-ups not needed any more for PPC (from Cort). 21062306a36Sopenharmony_ci - Cache line size set to 16 DWORDS for Sparc (from DSM). 21162306a36Sopenharmony_ci - Waiting list look-up didn't work for the first command of the list. 21262306a36Sopenharmony_ci - Remove 2 useless lines of code. 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ciSun Dec 13 18:00 1998 Gerard Roudier (groudier@club-internet.fr) 21562306a36Sopenharmony_ci * revision 3.1e 21662306a36Sopenharmony_ci - Same work-around as for the 53c876 rev <= 0x15 for 53c896 rev 1: 21762306a36Sopenharmony_ci Disable overlapped arbitration. This will not make difference 21862306a36Sopenharmony_ci since the chip has on-chip RAM. 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ciThu Nov 26 22:00 1998 Gerard Roudier (groudier@club-internet.fr) 22162306a36Sopenharmony_ci * revision 3.1d 22262306a36Sopenharmony_ci - The SISL RAID change requires now remap_pci_mem() stuff to be 22362306a36Sopenharmony_ci compiled for __i386__ when normal IOs are used. 22462306a36Sopenharmony_ci - Minor spelling fixes in doc files. 22562306a36Sopenharmony_ci 22662306a36Sopenharmony_ciSat Nov 21 18:00 1998 Gerard Roudier (groudier@club-internet.fr) 22762306a36Sopenharmony_ci * revision 3.1c 22862306a36Sopenharmony_ci - Ignore chips that are driven by SISL RAID (DAC 960). 22962306a36Sopenharmony_ci Change sent by Leonard Zubkoff and slightly reworked. 23062306a36Sopenharmony_ci - Still a buglet in the tags initial settings that needed to be fixed. 23162306a36Sopenharmony_ci It was not possible to disable TGQ at system startup for devices 23262306a36Sopenharmony_ci that claim TGQ support. The driver used at least 2 for the queue 23362306a36Sopenharmony_ci depth but didn't keep track of user settings for tags depth lower 23462306a36Sopenharmony_ci than 2. 23562306a36Sopenharmony_ci 23662306a36Sopenharmony_ciWed Nov 11 10:00 1998 Gerard Roudier (groudier@club-internet.fr) 23762306a36Sopenharmony_ci * revision 3.1b 23862306a36Sopenharmony_ci - The driver was unhappy when configured with default_tags > MAX_TAGS 23962306a36Sopenharmony_ci Hopefully doubly-fixed. 24062306a36Sopenharmony_ci - Update the Configure.help driver section that speaks of TAGS. 24162306a36Sopenharmony_ci 24262306a36Sopenharmony_ciWed Oct 21 21:00 1998 Gerard Roudier (groudier@club-internet.fr) 24362306a36Sopenharmony_ci * revision 3.1a 24462306a36Sopenharmony_ci - Changes from Eddie Dost for Sparc and Alpha: 24562306a36Sopenharmony_ci ioremap/iounmap support for Sparc. 24662306a36Sopenharmony_ci pcivtophys changed to bus_dvma_to_phys. 24762306a36Sopenharmony_ci - Add the 53c876 description to the chip table. This is only useful 24862306a36Sopenharmony_ci for printing the right name of the controller. 24962306a36Sopenharmony_ci - DEL-441 Item 2 work-around for the 53c876 rev <= 5 (0x15). 25062306a36Sopenharmony_ci - Add additional checking of INQUIRY data: 25162306a36Sopenharmony_ci Check INQUIRY data received length is at least 7. Byte 7 of 25262306a36Sopenharmony_ci inquiry data contains device features bits and the driver might 25362306a36Sopenharmony_ci be confused by garbage. Also check peripheral qualifier. 25462306a36Sopenharmony_ci - Cleanup of the SCSI tasks management: 25562306a36Sopenharmony_ci Remove the special case for 32 tags. Now the driver only uses the 25662306a36Sopenharmony_ci scheme that allows up to 64 tags per LUN. 25762306a36Sopenharmony_ci Merge some code from the 896 driver. 25862306a36Sopenharmony_ci Use a 1,3,5,...MAXTAGS*2+1 tag numbering. Previous driver could 25962306a36Sopenharmony_ci use any tag number from 1 to 253 and some non conformant devices 26062306a36Sopenharmony_ci might have problems with large tag numbers. 26162306a36Sopenharmony_ci - 'no_sync' changed to 'no_disc' in the README file. This is an old 26262306a36Sopenharmony_ci and trivial mistake that seems to demonstrate the README file is 26362306a36Sopenharmony_ci not often read. :) 26462306a36Sopenharmony_ci 26562306a36Sopenharmony_ciSun Oct 4 14:00 1998 Gerard Roudier (groudier@club-internet.fr) 26662306a36Sopenharmony_ci * revision 3.0i 26762306a36Sopenharmony_ci - Cosmetic changes for sparc (but not for the driver) that needs 26862306a36Sopenharmony_ci __irq_itoa() to be used for printed IRQ value to be understandable. 26962306a36Sopenharmony_ci - Some problems with the driver that didn't occur using driver 2.5f 27062306a36Sopenharmony_ci were due to a SCSI selection problem triggered by a clearly 27162306a36Sopenharmony_ci documented feature that in fact seems not to work: (53C8XX chips 27262306a36Sopenharmony_ci are claimed by the manuals to be able to execute SCSI scripts just 27362306a36Sopenharmony_ci after arbitration while the SCSI core is performing SCSI selection). 27462306a36Sopenharmony_ci This optimization is broken and has been removed. 27562306a36Sopenharmony_ci - Some broken scsi devices are confused when a negotiation is started 27662306a36Sopenharmony_ci on a LUN that does not correspond to a real device. According to 27762306a36Sopenharmony_ci SCSI specs, this is a device firmware bug. This has been worked 27862306a36Sopenharmony_ci around by only starting negotiation if the LUN has previously be 27962306a36Sopenharmony_ci used for at least 1 successful SCSI command. 28062306a36Sopenharmony_ci - The 'last message sent' printed out on M_REJECT message reception 28162306a36Sopenharmony_ci was read from the SFBR i/o register after the previous message had 28262306a36Sopenharmony_ci been sent. 28362306a36Sopenharmony_ci This was not correct and affects all previous driver versions and 28462306a36Sopenharmony_ci the original FreeBSD one as well. The SCSI scripts has been fixed 28562306a36Sopenharmony_ci so that it now provides the right information to the C code. 28662306a36Sopenharmony_ci 28762306a36Sopenharmony_ciSat Jul 18 13:00 1998 Gerard Roudier (groudier@club-internet.fr) 28862306a36Sopenharmony_ci * revision 3.0g 28962306a36Sopenharmony_ci - Preliminary fixes for Big Endian (sent by Eddie C. Dost). 29062306a36Sopenharmony_ci Big Endian architectures should work again with the driver. 29162306a36Sopenharmony_ci Eddie's patch has been partially applied since current 2.1.109 29262306a36Sopenharmony_ci does not have all the Sparc changes of the vger tree. 29362306a36Sopenharmony_ci - Use of BITS_PER_LONG instead of (~0UL == 0xffffffffUL) has fixed 29462306a36Sopenharmony_ci the problem observed when the driver was compiled using EGCS or 29562306a36Sopenharmony_ci PGCC. 29662306a36Sopenharmony_ci 29762306a36Sopenharmony_ciMon Jul 13 20:00 1998 Gerard Roudier (groudier@club-internet.fr) 29862306a36Sopenharmony_ci * revision 3.0f 29962306a36Sopenharmony_ci - Some spelling fixes. 30062306a36Sopenharmony_ci - linux/config.h misplaced in ncr53c8xx.h 30162306a36Sopenharmony_ci - MODULE_PARM stuff added for linux 2.1. 30262306a36Sopenharmony_ci - check INQUIRY response data format is exactly 2. 30362306a36Sopenharmony_ci - use BITS_PER_LONG if defined. 30462306a36Sopenharmony_ci 30562306a36Sopenharmony_ciSun Jun 28 12:00 1998 Gerard Roudier (groudier@club-internet.fr) 30662306a36Sopenharmony_ci * revision 3.0e 30762306a36Sopenharmony_ci - Some cleanup, spelling fixes, version checks, documentations 30862306a36Sopenharmony_ci changes, etc ... 30962306a36Sopenharmony_ci 31062306a36Sopenharmony_ciSat Jun 20 20:00 1998 Gerard Roudier (groudier@club-internet.fr) 31162306a36Sopenharmony_ci * revision 3.0c 31262306a36Sopenharmony_ci - Add a boot setup option that allows to set up device queue depths 31362306a36Sopenharmony_ci at boot-up. This option is very useful since Linux does not 31462306a36Sopenharmony_ci allow to change scsi device queue depth once the system has been 31562306a36Sopenharmony_ci booted up. 31662306a36Sopenharmony_ci 31762306a36Sopenharmony_ciSun Jun 15 23:00 1998 Gerard Roudier (groudier@club-internet.fr) 31862306a36Sopenharmony_ci * revision 3.0a 31962306a36Sopenharmony_ci - Support for up to 64 TAGS per LUN. 32062306a36Sopenharmony_ci - Rewrite the TARGET vs LUN capabilities management. 32162306a36Sopenharmony_ci CmdQueue is now handled as a LUN capability as it shall be. 32262306a36Sopenharmony_ci This also fixes a bug triggered when disabling tagged command 32362306a36Sopenharmony_ci queuing for a device that had this feature enabled. 32462306a36Sopenharmony_ci - Remove the ncr_opennings() stuff that was useless under Linux 32562306a36Sopenharmony_ci and hard to understand to me. 32662306a36Sopenharmony_ci - Add "setverbose" procfs driver command. It allows to tune 32762306a36Sopenharmony_ci verbose level after boot-up. Setting this level to zero, for 32862306a36Sopenharmony_ci example avoid flooding the syslog file. 32962306a36Sopenharmony_ci - Add KERN_XXX to some printk's. 33062306a36Sopenharmony_ci 33162306a36Sopenharmony_ciTue Jun 10 23:00 1998 Gerard Roudier (groudier@club-internet.fr) 33262306a36Sopenharmony_ci * revision 3.0 33362306a36Sopenharmony_ci - Linux config changes for 2.0.34: 33462306a36Sopenharmony_ci Remove NVRAM detection config option. This option is now enabled 33562306a36Sopenharmony_ci by default but can be disabled by editing the driver header file. 33662306a36Sopenharmony_ci Add a PROFILE config option. 33762306a36Sopenharmony_ci - Update Configure.help 33862306a36Sopenharmony_ci - Add calls to new function mdelay() for milli-seconds delay if 33962306a36Sopenharmony_ci kernel version >= 2.1.105. 34062306a36Sopenharmony_ci - Replace all printf(s) by printk(s). After all, the ncr53c8xx is 34162306a36Sopenharmony_ci a driver for Linux. 34262306a36Sopenharmony_ci - Perform auto-sense on COMMAND TERMINATED. Not sure it is useful. 34362306a36Sopenharmony_ci - Some other minor changes. 34462306a36Sopenharmony_ci 34562306a36Sopenharmony_ciTue Jun 4 23:00 1998 Gerard Roudier (groudier@club-internet.fr) 34662306a36Sopenharmony_ci * revision 2.6n 34762306a36Sopenharmony_ci - Code cleanup and simplification: 34862306a36Sopenharmony_ci Remove kernel 1.2.X and 1.3.X support. 34962306a36Sopenharmony_ci Remove the _old_ target capabilities table. 35062306a36Sopenharmony_ci Remove the error recovery code that hasn't been really useful. 35162306a36Sopenharmony_ci Use a single alignment boundary (CACHE_LINE_SIZE) for data 35262306a36Sopenharmony_ci structures. 35362306a36Sopenharmony_ci - Several aggressive SCRIPTS optimizations and changes: 35462306a36Sopenharmony_ci Reselect SCRIPTS code rewritten. 35562306a36Sopenharmony_ci Support for selection/reselection without ATN. 35662306a36Sopenharmony_ci And some others. 35762306a36Sopenharmony_ci - Miscallaneous changes in the C code: 35862306a36Sopenharmony_ci Count actual number of CCB queued to the controller (future use). 35962306a36Sopenharmony_ci Lots of other minor changes. 36062306a36Sopenharmony_ci 36162306a36Sopenharmony_ciWed May 13 20:00 1998 Gerard Roudier (groudier@club-internet.fr) 36262306a36Sopenharmony_ci * revision 2.6m 36362306a36Sopenharmony_ci - Problem of missed SCSI bus reset with the 53C895 fixed by 36462306a36Sopenharmony_ci Richard Waltham. The 53C895 needs about 650 us for the bus 36562306a36Sopenharmony_ci mode to settle. Delays used while resetting the controller 36662306a36Sopenharmony_ci and the bus have been adjusted. Thanks Richard! 36762306a36Sopenharmony_ci - Some simplification for 64 bit arch done ccb address testing. 36862306a36Sopenharmony_ci - Add a check of the MSG_OUT phase after Selection with ATN. 36962306a36Sopenharmony_ci - The new tagged queue stuff seems ok, so some informationnal 37062306a36Sopenharmony_ci message have been conditioned by verbose >= 3. 37162306a36Sopenharmony_ci - Do not reset if a SBMC interrupt reports the same bus mode. 37262306a36Sopenharmony_ci - Print out the whole driver set-up. Some options were missing and 37362306a36Sopenharmony_ci the print statement was misplaced for modules. 37462306a36Sopenharmony_ci - Ignore a SCSI parity interrupt if the chip is not connected to 37562306a36Sopenharmony_ci the SCSI bus. 37662306a36Sopenharmony_ci 37762306a36Sopenharmony_ciSat May 1 16:00 1998 Gerard Roudier (groudier@club-internet.fr) 37862306a36Sopenharmony_ci * revision 2.6l 37962306a36Sopenharmony_ci - Add CCB done queue support for Alpha and perhaps some other 38062306a36Sopenharmony_ci architectures. 38162306a36Sopenharmony_ci - Add some barriers to enforce memory ordering for x86 and 38262306a36Sopenharmony_ci Alpha architectures. 38362306a36Sopenharmony_ci - Fix something that looks like an old bug in the nego SIR 38462306a36Sopenharmony_ci interrupt code in case of negotiation failure. 38562306a36Sopenharmony_ci 38662306a36Sopenharmony_ciSat Apr 25 21:00 1998 Gerard Roudier (groudier@club-internet.fr) 38762306a36Sopenharmony_ci * revision 2.6k 38862306a36Sopenharmony_ci - Remove all accesses to the on-chip RAM from the C code: 38962306a36Sopenharmony_ci Use SCRIPTS to load the on-chip RAM. 39062306a36Sopenharmony_ci Use SCRIPTS to repair the start queue on selection timeout. 39162306a36Sopenharmony_ci Use the copy of script in main memory to calculate the chip 39262306a36Sopenharmony_ci context on phase mismatch. 39362306a36Sopenharmony_ci - The above allows now to use the on-chip RAM without requiring 39462306a36Sopenharmony_ci to get access to the on-chip RAM from the C code. This makes 39562306a36Sopenharmony_ci on-chip RAM usable for linux-1.2.13 and for Linux-Alpha for 39662306a36Sopenharmony_ci instance. 39762306a36Sopenharmony_ci - Some simplifications and cleanups in the SCRIPTS and C code. 39862306a36Sopenharmony_ci - Buglet fixed in parity error recovery SCRIPTS (never tested). 39962306a36Sopenharmony_ci - Minor updates in README.ncr53c8xx. 40062306a36Sopenharmony_ci 40162306a36Sopenharmony_ciWed Apr 15 21:00 1998 Gerard Roudier (groudier@club-internet.fr) 40262306a36Sopenharmony_ci * revision 2.6j 40362306a36Sopenharmony_ci - Incorporate changes from linux-2.1.95 ncr53c8xx driver version. 40462306a36Sopenharmony_ci - Add SMP support for linux-2.1.95 and above. 40562306a36Sopenharmony_ci - Fix a bug when QUEUE FULL is returned and no commands are 40662306a36Sopenharmony_ci disconnected. This happens with Atlas I / L912 and may happen 40762306a36Sopenharmony_ci with Atlas II / LXY4. 40862306a36Sopenharmony_ci - Nail another one on CHECK condition when requeuing the command 40962306a36Sopenharmony_ci for auto-sense. 41062306a36Sopenharmony_ci - Call scsi_done() for all completed commands after interrupt 41162306a36Sopenharmony_ci handling. 41262306a36Sopenharmony_ci - Increase the done queue to 24 entries. 41362306a36Sopenharmony_ci 41462306a36Sopenharmony_ciSat Apr 4 20:00 1998 Gerard Roudier (groudier@club-internet.fr) 41562306a36Sopenharmony_ci * revision 2.6i 41662306a36Sopenharmony_ci - CTEST0 is used by the 53C885 for Power Management and 41762306a36Sopenharmony_ci priority setting between the 2 functions. 41862306a36Sopenharmony_ci Use SDID instead as actual target number. Just have had to 41962306a36Sopenharmony_ci overwrite it with SSID on reselection. 42062306a36Sopenharmony_ci - Split DATA_IN and DATA_OUT scripts into 2 sub-scripts. 42162306a36Sopenharmony_ci 64 segments are moved from on-chip RAM scripts. 42262306a36Sopenharmony_ci If more segments, a script in main memory is used for the 42362306a36Sopenharmony_ci additional segments. 42462306a36Sopenharmony_ci - Since the SCRIPTS processor continues SCRIPTS execution after 42562306a36Sopenharmony_ci having won arbitration, do some stuff prior to testing any SCSI 42662306a36Sopenharmony_ci phase on reselection. This should have the vertue to process 42762306a36Sopenharmony_ci scripts in parallel with the SCSI core performing selection. 42862306a36Sopenharmony_ci - Increase the done queue to 12 entries. 42962306a36Sopenharmony_ci 43062306a36Sopenharmony_ciSun Mar 29 12:00 1998 Gerard Roudier (groudier@club-internet.fr) 43162306a36Sopenharmony_ci * revision 2.6h 43262306a36Sopenharmony_ci - Some fixes. 43362306a36Sopenharmony_ci 43462306a36Sopenharmony_ciTue Mar 26 23:00 1998 Gerard Roudier (groudier@club-internet.fr) 43562306a36Sopenharmony_ci * revision 2.6g 43662306a36Sopenharmony_ci - New done queue. 8 entries by default (6 always usable). 43762306a36Sopenharmony_ci Can be increased if needed. 43862306a36Sopenharmony_ci - Resources management using doubly linked queues. 43962306a36Sopenharmony_ci - New auto-sense and QUEUE FULL handling that does not need to 44062306a36Sopenharmony_ci stall the NCR queue any more. 44162306a36Sopenharmony_ci - New CCB starvation avoiding algorithm. 44262306a36Sopenharmony_ci - Prepare CCBs for SCSI commands that cannot be queued, instead of 44362306a36Sopenharmony_ci inserting these commands into the waiting list. The waiting list 44462306a36Sopenharmony_ci is now only used while resetting and when memory for CCBs is not 44562306a36Sopenharmony_ci yet available? 44662306a36Sopenharmony_ci 44762306a36Sopenharmony_ciSun Feb 8 22:00 1998 Gerard Roudier (groudier@club-internet.fr) 44862306a36Sopenharmony_ci * revision 2.6f 44962306a36Sopenharmony_ci - Some fixes in order to really support the 53C895, at least with 45062306a36Sopenharmony_ci FAST-20 devices. 45162306a36Sopenharmony_ci - Heavy changes in the target/lun resources management to allow 45262306a36Sopenharmony_ci the scripts to jump directly to the CCB on reselection instead 45362306a36Sopenharmony_ci of walking on the lun CCBs list. Up to 32 tags per lun are now 45462306a36Sopenharmony_ci supported without script processor and PCI traffic overhead. 45562306a36Sopenharmony_ci 45662306a36Sopenharmony_ciSun Jan 11 22:00 1998 Gerard Roudier (groudier@club-internet.fr) 45762306a36Sopenharmony_ci * revision 2.6d 45862306a36Sopenharmony_ci - new (different ?) implementation of the start queue: 45962306a36Sopenharmony_ci Use a simple CALL to a launch script in the CCB. 46062306a36Sopenharmony_ci - implement a minimal done queue (1 entry :-) ). 46162306a36Sopenharmony_ci this avoid scanning all CCBs on INT FLY (Only scan all CCBs, on 46262306a36Sopenharmony_ci overflow). Hit ratio is better than 99.9 % on my system, so no 46362306a36Sopenharmony_ci need to have a larger done queue. 46462306a36Sopenharmony_ci - generalization of the restart of CCB on special condition as 46562306a36Sopenharmony_ci Abort, QUEUE FULL, CHECK CONDITION. 46662306a36Sopenharmony_ci This has been called 'silly scheduler'. 46762306a36Sopenharmony_ci - make all the profiling code conditioned by a config option. 46862306a36Sopenharmony_ci This spare some PCI traffic and C code when this feature is not 46962306a36Sopenharmony_ci needed. 47062306a36Sopenharmony_ci - handle more cleanly the situation where direction is unknown. 47162306a36Sopenharmony_ci The pointers patching is now performed by the SCRIPTS processor. 47262306a36Sopenharmony_ci - remove some useless scripts instructions. 47362306a36Sopenharmony_ci 47462306a36Sopenharmony_ci Ported from driver 2.5 series: 47562306a36Sopenharmony_ci ------------------------------ 47662306a36Sopenharmony_ci - Use FAST-5 instead of SLOW for slow scsi devices according to 47762306a36Sopenharmony_ci new SPI-2 draft. 47862306a36Sopenharmony_ci - Make some changes in order to accommodate with 875 rev <= 3 47962306a36Sopenharmony_ci device errata listing 397. Minor consequences are: 48062306a36Sopenharmony_ci . Leave use of PCI Write and Invalidate under user control. 48162306a36Sopenharmony_ci Now, by default the driver does not enable PCI MWI and option 48262306a36Sopenharmony_ci 'specf:y' is required in order to enable this feature. 48362306a36Sopenharmony_ci . Memory Read Line is not enabled for 875 and 875-like chips. 48462306a36Sopenharmony_ci . Programmed burst length set to 64 DWORDS (instead of 128). 48562306a36Sopenharmony_ci (Note: SYMBIOS uses 32 DWORDS for the SDMS BIOS) 48662306a36Sopenharmony_ci - Add 'buschk' boot option. 48762306a36Sopenharmony_ci This option enables checking of SCSI BUS data lines after SCSI 48862306a36Sopenharmony_ci RESET (set by default). (Submitted by Richard Waltham). 48962306a36Sopenharmony_ci - Update the README file. 49062306a36Sopenharmony_ci - Dispatch CONDITION MET and RESERVATION CONFLICT scsi status 49162306a36Sopenharmony_ci as OK driver status. 49262306a36Sopenharmony_ci - Update the README file and the Symbios NVRAM format definition 49362306a36Sopenharmony_ci with removable media flags values (available with SDMS 4.09). 49462306a36Sopenharmony_ci - Several PCI configuration registers fix-ups for powerpc. 49562306a36Sopenharmony_ci (Patch sent by Cort). 496