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