xref: /linux/Documentation/scsi/ChangeLog.ncr53c8xx (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
11da177e4SLinus TorvaldsSat May 12 12:00 2001 Gerard Roudier (groudier@club-internet.fr)
21da177e4SLinus Torvalds	* version ncr53c8xx-3.4.3b
31da177e4SLinus Torvalds	- Ensure LEDC bit in GPCNTL is cleared when reading the NVRAM.
41da177e4SLinus Torvalds	  Fix sent by Stig Telfer <stig@api-networks.com>.
51da177e4SLinus Torvalds	- Define scsi_set_pci_device() as nil for kernel < 2.4.4.
61da177e4SLinus Torvalds
71da177e4SLinus TorvaldsMon Feb 12 22:30 2001 Gerard Roudier (groudier@club-internet.fr)
81da177e4SLinus Torvalds	* version ncr53c8xx-3.4.3
91da177e4SLinus Torvalds	- Call pci_enable_device() as AC wants this to be done.
101da177e4SLinus Torvalds	- Get both the BAR cookies actual and PCI BAR values.
111da177e4SLinus Torvalds	  (see Changelog.sym53c8xx rev. 1.7.3 for details)
121da177e4SLinus Torvalds	- Merge changes for linux-2.4 that declare the host template
131da177e4SLinus Torvalds	  in the driver object also when the driver is statically
141da177e4SLinus Torvalds	  linked with the kernel.
151da177e4SLinus Torvalds
161da177e4SLinus TorvaldsSun Sep 24 21:30 2000 Gerard Roudier (groudier@club-internet.fr)
171da177e4SLinus Torvalds	* version ncr53c8xx-3.4.2
181da177e4SLinus Torvalds	- See Changelog.sym53c8xx, driver version 1.7.2.
191da177e4SLinus Torvalds
201da177e4SLinus TorvaldsWed Jul 26 23:30 2000 Gerard Roudier (groudier@club-internet.fr)
211da177e4SLinus Torvalds	* version ncr53c8xx-3.4.1
228b5b8f4cSNick Andrew	- Provide OpenFirmware path through the proc FS on PPC.
231da177e4SLinus Torvalds	- Remove trailing argument #2 from a couple of #undefs.
241da177e4SLinus Torvalds
251da177e4SLinus TorvaldsSun Jul 09 16:30 2000 Gerard Roudier (groudier@club-internet.fr)
261da177e4SLinus Torvalds	* version ncr53c8xx-3.4.0
271da177e4SLinus Torvalds	- Remove the PROFILE C and SCRIPTS code.
281da177e4SLinus Torvalds	  This facility was not this useful and thus was not longer
291da177e4SLinus Torvalds	  desirable given the increasing complexity of the driver code.
301da177e4SLinus Torvalds	- Merges from FreeBSD sym-1.6.2 driver:
311da177e4SLinus Torvalds	  * Clarify memory barriers needed by the driver for architectures
321da177e4SLinus Torvalds	    that implement a weak memory ordering.
331da177e4SLinus Torvalds	- General cleanup:
341da177e4SLinus Torvalds	  Move definitions for barriers and IO/MMIO operations to the
351da177e4SLinus Torvalds	  sym53c8xx_defs.h header files. They are now shared by the
361da177e4SLinus Torvalds	  both drivers.
371da177e4SLinus Torvalds	  Use SCSI_NCR_IOMAPPED instead of NCR_IOMAPPED.
381da177e4SLinus Torvalds
391da177e4SLinus TorvaldsThu May 11   12:30 2000 Pam Delaney (pam.delaney@lsil.com)
401da177e4SLinus Torvalds	* revision 3.3b
411da177e4SLinus Torvalds
421da177e4SLinus TorvaldsMon Apr 24 12:00 2000 Gerard Roudier (groudier@club-internet.fr)
431da177e4SLinus Torvalds	* revision 3.2i
441da177e4SLinus Torvalds	- Return value 1 (instead of 0) from the driver setup routine.
451da177e4SLinus Torvalds	- Let the driver also attach controllers that have been set to
461da177e4SLinus Torvalds	  OFF in the NVRAM as it did prior to revision 3.2g.
471da177e4SLinus Torvalds
481da177e4SLinus TorvaldsSat Apr 1  12:00 2000 Gerard Roudier (groudier@club-internet.fr)
491da177e4SLinus Torvalds	* revision 3.2h
501da177e4SLinus Torvalds	- Fix a compilation problem on Alpha introduced in version 3.2g.
511da177e4SLinus Torvalds          (`port' changed to `base_io').
521da177e4SLinus Torvalds	- Move from `sym' to this driver a tiny change for __sparc__ that
531da177e4SLinus Torvalds	  applies to cache line size (? Probably from David S Miller).
541da177e4SLinus Torvalds	- Make sure no data transfer will happen for Scsi_Cmnd requests
551da177e4SLinus Torvalds	  that supply SCSI_DATA_NONE direction (this avoids some BUG()
561da177e4SLinus Torvalds	  statement in the PCI code when a data buffer is also supplied).
571da177e4SLinus Torvalds
581da177e4SLinus TorvaldsThu Mar 16   9:30 2000 Pam Delaney (pam.delaney@lsil.com)
591da177e4SLinus Torvalds	* revision 3.3b-3
601da177e4SLinus Torvalds 	- Added exclusion for the 53C1010 and 53C1010_66 chips
611da177e4SLinus Torvalds	  to the driver (change to sym53c8xx_comm.h).
621da177e4SLinus Torvalds
631da177e4SLinus TorvaldsMon March 6  23:15 2000 Gerard Roudier (groudier@club-internet.fr)
641da177e4SLinus Torvalds	* revision 3.2g
651da177e4SLinus Torvalds	- Add the file sym53c8xx_comm.h that collects code that should
661da177e4SLinus Torvalds	  be shared by sym53c8xx and ncr53c8xx drivers. For now, it is
671da177e4SLinus Torvalds	  a header file that is only included by the ncr53c8xx driver,
681da177e4SLinus Torvalds	  but things will be cleaned up later. This code addresses
691da177e4SLinus Torvalds	  notably:
701da177e4SLinus Torvalds	  * Chip detection and PCI related initialisations
711da177e4SLinus Torvalds	  * NVRAM detection and reading
721da177e4SLinus Torvalds	  * DMA mapping
731da177e4SLinus Torvalds	  * Boot setup command
741da177e4SLinus Torvalds	  * And some other ...
751da177e4SLinus Torvalds	- Add support for the new dynamic dma mapping kernel interface.
761da177e4SLinus Torvalds	  Requires Linux-2.3.47 (tested with pre-2.3.47-6).
771da177e4SLinus Torvalds	- Get data transfer direction from the scsi command structure
781da177e4SLinus Torvalds	  (Scsi_Cmnd) when this information is available.
791da177e4SLinus Torvalds
801da177e4SLinus TorvaldsMon March 6  23:15 2000 Gerard Roudier (groudier@club-internet.fr)
811da177e4SLinus Torvalds        * revision 3.2g
821da177e4SLinus Torvalds        - Add the file sym53c8xx_comm.h that collects code that should
831da177e4SLinus Torvalds          be shared by sym53c8xx and ncr53c8xx drivers. For now, it is
841da177e4SLinus Torvalds          a header file that is only included by the ncr53c8xx driver,
851da177e4SLinus Torvalds          but things will be cleaned up later. This code addresses
861da177e4SLinus Torvalds          notably:
871da177e4SLinus Torvalds          * Chip detection and PCI related initialisations
881da177e4SLinus Torvalds          * NVRAM detection and reading
891da177e4SLinus Torvalds          * DMA mapping
901da177e4SLinus Torvalds          * Boot setup command
911da177e4SLinus Torvalds          * And some other ...
921da177e4SLinus Torvalds        - Add support for the new dynamic dma mapping kernel interface.
931da177e4SLinus Torvalds          Requires Linux-2.3.47 (tested with pre-2.3.47-6).
941da177e4SLinus Torvalds        - Get data transfer direction from the scsi command structure
951da177e4SLinus Torvalds          (Scsi_Cmnd) when this information is available.
961da177e4SLinus Torvalds
971da177e4SLinus TorvaldsFri Jan 14 14:00 2000 Pam Delaney (pam.delaney@lsil.com)
981da177e4SLinus Torvalds	* revision pre-3.3b-1
991da177e4SLinus Torvalds	- Merge parallel driver series 3.31 and 3.2e
1001da177e4SLinus Torvalds
1011da177e4SLinus TorvaldsTue Jan 11 14:00 2000 Pam Delaney (pam.delaney@lsil.com)
1021da177e4SLinus Torvalds	* revision 3.31
1031da177e4SLinus Torvalds	- Added support for mounting disks on wide-narrow-wide
1041da177e4SLinus Torvalds	  scsi configurations.
1051da177e4SLinus Torvalds	- Built off of version 3.30
1061da177e4SLinus Torvalds
1071da177e4SLinus TorvaldsMon Jan 10 13:30 2000 Pam Delaney (pam.delaney@lsil.com)
1081da177e4SLinus Torvalds	* revision 3.30
1091da177e4SLinus Torvalds	- Added capability to use the integrity checking code
1101da177e4SLinus Torvalds	  in the kernel (optional).
1111da177e4SLinus Torvalds	- Disabled support for the 53C1010.
1121da177e4SLinus Torvalds	- Built off of version 3.2c
1131da177e4SLinus Torvalds
1141da177e4SLinus TorvaldsSat Jan 8  22:00 2000 Gerard Roudier (groudier@club-internet.fr)
1151da177e4SLinus Torvalds	* revision 3.2e
1161da177e4SLinus Torvalds	- Add year 2000 copyright.
1171da177e4SLinus Torvalds	- Display correctly bus signals when bus is detected wrong.
1181da177e4SLinus Torvalds	- Remove the dead code that broke driver 3.2d.
1191da177e4SLinus Torvalds
1201da177e4SLinus TorvaldsMon Dec 6  22:00 1999 Gerard Roudier (groudier@club-internet.fr)
1211da177e4SLinus Torvalds	* revision 3.2d
1221da177e4SLinus Torvalds	- Change messages written by the driver at initialisation and
1231da177e4SLinus Torvalds	  through the /proc FS (rather cosmetic changes that consist in
1241da177e4SLinus Torvalds	  printing out the PCI bus number and device/function).
1251da177e4SLinus Torvalds	- Get rid of the old PCI bios interface, but preserve kernel 2.0
1261da177e4SLinus Torvalds	  compatibility from a simple wrapper.
1271da177e4SLinus Torvalds	- Remove the compilation condition about having to acquire the
1281da177e4SLinus Torvalds	  io_request_lock since it seems to be a definite feature now.:)
1291da177e4SLinus Torvalds	- proc_dir structure no longer needed for kernel >= 2.3.27.
1301da177e4SLinus Torvalds	- Change the driver detection code by the sym53c8xx one, modulo
1311da177e4SLinus Torvalds	  some minor changes. The driver can now attach any number of
1321da177e4SLinus Torvalds	  controllers (>40) and does no longer hoger stack space at
1331da177e4SLinus Torvalds	  initialisation.
1341da177e4SLinus Torvalds	- Definitely disable overlapped PCI arbitration for all dual
1351da177e4SLinus Torvalds	  function chips, since I cannot make sure for what chip revisions
1361da177e4SLinus Torvalds	  it is actually safe.
1371da177e4SLinus Torvalds	- Add support for the SYM53C1510D.
1381da177e4SLinus Torvalds	- Update the poor Tekram sync factor table.
1391da177e4SLinus Torvalds	- Remove the compilation condition about having to acquire the
1401da177e4SLinus Torvalds	  io_request_lock since it seems to be a definite feature now.:)
1411da177e4SLinus Torvalds	- proc_dir structure no longer needed for kernel >= 2.3.27.
1421da177e4SLinus Torvalds
1431da177e4SLinus TorvaldsSat Sep 11  18:00 1999 Gerard Roudier (groudier@club-internet.fr)
1441da177e4SLinus Torvalds	* revision 3.2c
1451da177e4SLinus Torvalds	- Handle correctly (hopefully) jiffies wrap-around.
1461da177e4SLinus Torvalds	- Restore the entry used to detect 875 until revision 0xff.
1471da177e4SLinus Torvalds	  (I removed it inadvertently, it seems :) )
1481da177e4SLinus Torvalds	- Replace __initfunc() which is deprecated stuff by __init which
1491da177e4SLinus Torvalds	  is not yet so. ;-)
1501da177e4SLinus Torvalds	- Add support of some 'resource handling' for linux-2.3.13.
1511da177e4SLinus Torvalds	  Basically the BARs have been changed to something more complex
1521da177e4SLinus Torvalds	  in the pci_dev structure.
1531da177e4SLinus Torvalds	- Remove some deprecated code.
1541da177e4SLinus Torvalds
1551da177e4SLinus TorvaldsSat May 10  11:00 1999 Gerard Roudier (groudier@club-internet.fr)
1561da177e4SLinus Torvalds	* revision pre-3.2b-1
1571da177e4SLinus Torvalds	- Support for the 53C895A by Pamela Delaney <pam.delaney@lsil.com>
1581da177e4SLinus Torvalds	  The 53C895A contains all of the features of the 896 but has only
1591da177e4SLinus Torvalds	  one channel and has a 32 bit PCI bus. It does 64 bit PCI addressing
1601da177e4SLinus Torvalds	  using dual cycle PCI data transfers.
1611da177e4SLinus Torvalds	- Miscellaneous minor fixes.
1621da177e4SLinus Torvalds	- Some additions to the README.ncr53c8xx file.
1631da177e4SLinus Torvalds
1641da177e4SLinus TorvaldsSun Apr 11  10:00 1999 Gerard Roudier (groudier@club-internet.fr)
1651da177e4SLinus Torvalds	* revision 3.2a
1661da177e4SLinus Torvalds	- Add 'hostid:#id' boot option. This option allows to change the
1671da177e4SLinus Torvalds	  default SCSI id the driver uses for controllers.
1681da177e4SLinus Torvalds	- Remove nvram layouts and driver set-up structures from the C source,
1691da177e4SLinus Torvalds	  and use the one defined in sym53c8xx_defs.h file.
1701da177e4SLinus Torvalds	  (shared by both drivers).
1711da177e4SLinus Torvalds	- Set for now MAX LUNS to 16 (instead of 8).
1721da177e4SLinus Torvalds
1731da177e4SLinus TorvaldsThu Mar 11  23:00 1999 Gerard Roudier (groudier@club-internet.fr)
1741da177e4SLinus Torvalds	* revision 3.2	  (8xx-896 driver bundle)
1751da177e4SLinus Torvalds	- Only define the host template in ncr53c8xx.h and include the
1761da177e4SLinus Torvalds	  sym53c8xx_defs.h file.
1771da177e4SLinus Torvalds	- Declare static all symbols that do not need to be visible from
1781da177e4SLinus Torvalds	  outside the driver code.
1791da177e4SLinus Torvalds	- Add 'excl' boot command option that allows to pass to the driver
1801da177e4SLinus Torvalds	  io address of devices not to attach.
1811da177e4SLinus Torvalds	- Add info() function called from the host template to print
1821da177e4SLinus Torvalds	  driver/host information.
1831da177e4SLinus Torvalds	- Minor documentation additions.
1841da177e4SLinus Torvalds
1851da177e4SLinus TorvaldsSat Mar 6  11:00 1999 Gerard Roudier (groudier@club-internet.fr)
1861da177e4SLinus Torvalds	* revision 3.1h
1871da177e4SLinus Torvalds	- Fix some oooold bug that hangs the bus if a device rejects a
1881da177e4SLinus Torvalds	  negotiation. Btw, the corresponding stuff also needed some cleanup
1891da177e4SLinus Torvalds	  and thus the change is a bit larger than it could have been.
1901da177e4SLinus Torvalds	- Still some typo that made compilation fail for 64 bit (trivial fix).
1911da177e4SLinus Torvalds
1921da177e4SLinus TorvaldsSun Feb  14:00 1999 Gerard Roudier (groudier@club-internet.fr)
1931da177e4SLinus Torvalds	* revision 3.1g
1941da177e4SLinus Torvalds	- Deal correctly with 64 bit PCI address registers on Linux 2.2.
1951da177e4SLinus Torvalds	  Pointed out by Leonard Zubkoff.
1961da177e4SLinus Torvalds	- Allow to tune request_irq() flags from the boot command line using
1971da177e4SLinus Torvalds	  ncr53c8xx=irqm:??, as follows:
19838d090b0SAhmed S. Darwish	  a) If bit 0x10 is set in irqm, IRQF_SHARED flag is not used.
19938d090b0SAhmed S. Darwish	  b) If bit 0x20 is set in irqm, IRQF_DISABLED flag is not used.
20038d090b0SAhmed S. Darwish	  By default the driver uses both IRQF_SHARED and IRQF_DISABLED.
2011da177e4SLinus Torvalds	  Option 'ncr53c8xx=irqm:0x20' may be used when an IRQ is shared by
2021da177e4SLinus Torvalds	  a 53C8XX adapter and a network board.
20325985edcSLucas De Marchi	- Tiny misspelling fixed (ABORT instead of ABRT). Was fortunately
2041da177e4SLinus Torvalds	  harmless.
2051da177e4SLinus Torvalds	- Negotiate SYNC data transfers with CCS devices.
2061da177e4SLinus Torvalds
2071da177e4SLinus TorvaldsSat Jan 16  17:30 1999 Gerard Roudier (groudier@club-internet.fr)
2081da177e4SLinus Torvalds	* revision 3.1f
2091da177e4SLinus Torvalds	- Some PCI fix-ups not needed any more for PPC (from Cort).
2101da177e4SLinus Torvalds	- Cache line size set to 16 DWORDS for Sparc   (from DSM).
2111da177e4SLinus Torvalds	- Waiting list look-up didn't work for the first command of the list.
2121da177e4SLinus Torvalds	- Remove 2 useless lines of code.
2131da177e4SLinus Torvalds
2141da177e4SLinus TorvaldsSun Dec 13  18:00 1998 Gerard Roudier (groudier@club-internet.fr)
2151da177e4SLinus Torvalds	* revision 3.1e
2161da177e4SLinus Torvalds	- Same work-around as for the 53c876 rev <= 0x15 for 53c896 rev 1:
2171da177e4SLinus Torvalds	  Disable overlapped arbitration. This will not make difference
2181da177e4SLinus Torvalds	  since the chip has on-chip RAM.
2191da177e4SLinus Torvalds
2201da177e4SLinus TorvaldsThu Nov 26  22:00 1998 Gerard Roudier (groudier@club-internet.fr)
2211da177e4SLinus Torvalds	* revision 3.1d
2221da177e4SLinus Torvalds	- The SISL RAID change requires now remap_pci_mem() stuff to be
2231da177e4SLinus Torvalds	  compiled for __i386__ when normal IOs are used.
2241da177e4SLinus Torvalds	- Minor spelling fixes in doc files.
2251da177e4SLinus Torvalds
2261da177e4SLinus TorvaldsSat Nov 21  18:00 1998 Gerard Roudier (groudier@club-internet.fr)
2271da177e4SLinus Torvalds	* revision 3.1c
2281da177e4SLinus Torvalds	- Ignore chips that are driven by SISL RAID (DAC 960).
2291da177e4SLinus Torvalds	  Change sent by Leonard Zubkoff and slightly reworked.
2301da177e4SLinus Torvalds	- Still a buglet in the tags initial settings that needed to be fixed.
2311da177e4SLinus Torvalds	  It was not possible to disable TGQ at system startup for devices
2321da177e4SLinus Torvalds	  that claim TGQ support. The driver used at least 2 for the queue
233*685d5ef4SRandy Dunlap	  depth but didn't keep track of user settings for tags depth lower
2341da177e4SLinus Torvalds	  than 2.
2351da177e4SLinus Torvalds
2361da177e4SLinus TorvaldsWed Nov 11  10:00 1998 Gerard Roudier (groudier@club-internet.fr)
2371da177e4SLinus Torvalds	* revision 3.1b
2381da177e4SLinus Torvalds	- The driver was unhappy when configured with default_tags > MAX_TAGS
2391da177e4SLinus Torvalds	  Hopefully doubly-fixed.
2401da177e4SLinus Torvalds	- Update the Configure.help driver section that speaks of TAGS.
2411da177e4SLinus Torvalds
2421da177e4SLinus TorvaldsWed Oct 21 21:00 1998 Gerard Roudier (groudier@club-internet.fr)
2431da177e4SLinus Torvalds	* revision 3.1a
2441da177e4SLinus Torvalds	- Changes from Eddie Dost for Sparc and Alpha:
2451da177e4SLinus Torvalds	  ioremap/iounmap support for Sparc.
2461da177e4SLinus Torvalds	  pcivtophys changed to bus_dvma_to_phys.
2471da177e4SLinus Torvalds	- Add the 53c876 description to the chip table. This is only useful
2481da177e4SLinus Torvalds	  for printing the right name of the controller.
2491da177e4SLinus Torvalds	- DEL-441 Item 2 work-around for the 53c876 rev <= 5 (0x15).
2501da177e4SLinus Torvalds	- Add additional checking of INQUIRY data:
2511da177e4SLinus Torvalds	  Check INQUIRY data received length is at least 7. Byte 7 of
2521da177e4SLinus Torvalds	  inquiry data contains device features bits and the driver might
2531da177e4SLinus Torvalds	  be confused by garbage. Also check peripheral qualifier.
2541da177e4SLinus Torvalds	- Cleanup of the SCSI tasks management:
2551da177e4SLinus Torvalds	  Remove the special case for 32 tags. Now the driver only uses the
2561da177e4SLinus Torvalds	  scheme that allows up to 64 tags per LUN.
2571da177e4SLinus Torvalds	  Merge some code from the 896 driver.
2581da177e4SLinus Torvalds	  Use a 1,3,5,...MAXTAGS*2+1 tag numbering. Previous driver could
2591da177e4SLinus Torvalds	  use any tag number from 1 to 253 and some non conformant devices
2601da177e4SLinus Torvalds	  might have problems with large tag numbers.
2611da177e4SLinus Torvalds	- 'no_sync' changed to 'no_disc' in the README file. This is an old
2621da177e4SLinus Torvalds	  and trivial mistake that seems to demonstrate the README file is
2631da177e4SLinus Torvalds	  not often read. :)
2641da177e4SLinus Torvalds
2651da177e4SLinus TorvaldsSun Oct  4 14:00 1998 Gerard Roudier (groudier@club-internet.fr)
2661da177e4SLinus Torvalds	* revision 3.0i
2671da177e4SLinus Torvalds	- Cosmetic changes for sparc (but not for the driver) that needs
2681da177e4SLinus Torvalds	  __irq_itoa() to be used for printed IRQ value to be understandable.
2691da177e4SLinus Torvalds	- Some problems with the driver that didn't occur using driver 2.5f
2701da177e4SLinus Torvalds	  were due to a SCSI selection problem triggered by a clearly
2711da177e4SLinus Torvalds	  documented feature that in fact seems not to work: (53C8XX chips
2721da177e4SLinus Torvalds	  are claimed by the manuals to be able to execute SCSI scripts just
273*685d5ef4SRandy Dunlap	  after arbitration while the SCSI core is performing SCSI selection).
2741da177e4SLinus Torvalds	  This optimization is broken and has been removed.
2751da177e4SLinus Torvalds	- Some broken scsi devices are confused when a negotiation is started
2761da177e4SLinus Torvalds	  on a LUN that does not correspond to a real device. According to
2771da177e4SLinus Torvalds	  SCSI specs, this is a device firmware bug. This has been worked
2781da177e4SLinus Torvalds	  around by only starting negotiation if the LUN has previously be
2791da177e4SLinus Torvalds	  used for at least 1 successful SCSI command.
2801da177e4SLinus Torvalds	- The 'last message sent' printed out on M_REJECT message reception
2811da177e4SLinus Torvalds	  was read from the SFBR i/o register after the previous message had
2821da177e4SLinus Torvalds	  been sent.
2831da177e4SLinus Torvalds	  This was not correct and affects all previous driver versions and
2841da177e4SLinus Torvalds	  the original FreeBSD one as well. The SCSI scripts has been fixed
2851da177e4SLinus Torvalds	  so that it now provides the right information to the C code.
2861da177e4SLinus Torvalds
2871da177e4SLinus TorvaldsSat Jul 18 13:00 1998 Gerard Roudier (groudier@club-internet.fr)
2881da177e4SLinus Torvalds	* revision 3.0g
2891da177e4SLinus Torvalds	- Preliminary fixes for Big Endian (sent by Eddie C. Dost).
2901da177e4SLinus Torvalds	  Big Endian architectures should work again with the driver.
2911da177e4SLinus Torvalds	  Eddie's patch has been partially applied since current 2.1.109
2921da177e4SLinus Torvalds	  does not have all the Sparc changes of the vger tree.
2931da177e4SLinus Torvalds	- Use of BITS_PER_LONG instead of (~0UL == 0xffffffffUL) has fixed
2941da177e4SLinus Torvalds	  the problem observed when the driver was compiled using EGCS or
2951da177e4SLinus Torvalds	  PGCC.
2961da177e4SLinus Torvalds
2971da177e4SLinus TorvaldsMon Jul 13 20:00 1998 Gerard Roudier (groudier@club-internet.fr)
2981da177e4SLinus Torvalds	* revision 3.0f
2991da177e4SLinus Torvalds	- Some spelling fixes.
3001da177e4SLinus Torvalds	- linux/config.h misplaced in ncr53c8xx.h
3011da177e4SLinus Torvalds	- MODULE_PARM stuff added for linux 2.1.
3021da177e4SLinus Torvalds	- check INQUIRY response data format is exactly 2.
3031da177e4SLinus Torvalds	- use BITS_PER_LONG if defined.
3041da177e4SLinus Torvalds
3051da177e4SLinus TorvaldsSun Jun 28 12:00 1998 Gerard Roudier (groudier@club-internet.fr)
3061da177e4SLinus Torvalds	* revision 3.0e
3071da177e4SLinus Torvalds	- Some cleanup, spelling fixes, version checks, documentations
3081da177e4SLinus Torvalds	  changes, etc ...
3091da177e4SLinus Torvalds
3101da177e4SLinus TorvaldsSat Jun 20 20:00 1998 Gerard Roudier (groudier@club-internet.fr)
3111da177e4SLinus Torvalds	* revision 3.0c
3121da177e4SLinus Torvalds	- Add a boot setup option that allows to set up device queue depths
3131da177e4SLinus Torvalds	  at boot-up. This option is very useful since Linux does not
3141da177e4SLinus Torvalds	  allow to change scsi device queue depth once the system has been
3151da177e4SLinus Torvalds	  booted up.
3161da177e4SLinus Torvalds
3171da177e4SLinus TorvaldsSun Jun 15 23:00 1998 Gerard Roudier (groudier@club-internet.fr)
3181da177e4SLinus Torvalds	* revision 3.0a
3191da177e4SLinus Torvalds	- Support for up to 64 TAGS per LUN.
3201da177e4SLinus Torvalds	- Rewrite the TARGET vs LUN capabilities management.
3211da177e4SLinus Torvalds	  CmdQueue is now handled as a LUN capability as it shall be.
3221da177e4SLinus Torvalds	  This also fixes a bug triggered when disabling tagged command
3231da177e4SLinus Torvalds	  queuing for a device that had this feature enabled.
3241da177e4SLinus Torvalds	- Remove the ncr_opennings() stuff that was useless under Linux
3251da177e4SLinus Torvalds	  and hard to understand to me.
3261da177e4SLinus Torvalds	- Add "setverbose" procfs driver command. It allows to tune
3271da177e4SLinus Torvalds	  verbose level after boot-up. Setting this level to zero, for
3281da177e4SLinus Torvalds	  example avoid flooding the syslog file.
3291da177e4SLinus Torvalds	- Add KERN_XXX to some printk's.
3301da177e4SLinus Torvalds
3311da177e4SLinus TorvaldsTue Jun 10 23:00 1998 Gerard Roudier (groudier@club-internet.fr)
3321da177e4SLinus Torvalds	* revision 3.0
3331da177e4SLinus Torvalds	- Linux config changes for 2.0.34:
3341da177e4SLinus Torvalds	  Remove NVRAM detection config option. This option is now enabled
3351da177e4SLinus Torvalds	  by default but can be disabled by editing the driver header file.
3361da177e4SLinus Torvalds	  Add a PROFILE config option.
3371da177e4SLinus Torvalds	- Update Configure.help
3381da177e4SLinus Torvalds	- Add calls to new function mdelay() for milli-seconds delay if
3391da177e4SLinus Torvalds	  kernel version >= 2.1.105.
3401da177e4SLinus Torvalds	- Replace all printf(s) by printk(s). After all, the ncr53c8xx is
3411da177e4SLinus Torvalds	  a driver for Linux.
3421da177e4SLinus Torvalds	- Perform auto-sense on COMMAND TERMINATED. Not sure it is useful.
3431da177e4SLinus Torvalds	- Some other minor changes.
3441da177e4SLinus Torvalds
3451da177e4SLinus TorvaldsTue Jun 4 23:00 1998 Gerard Roudier (groudier@club-internet.fr)
3461da177e4SLinus Torvalds	* revision 2.6n
3471da177e4SLinus Torvalds	- Code cleanup and simplification:
3481da177e4SLinus Torvalds	  Remove kernel 1.2.X and 1.3.X support.
3491da177e4SLinus Torvalds	  Remove the _old_ target capabilities table.
350*685d5ef4SRandy Dunlap	  Remove the error recovery code that hasn't been really useful.
3511da177e4SLinus Torvalds	  Use a single alignment boundary (CACHE_LINE_SIZE) for data
3521da177e4SLinus Torvalds	  structures.
3531da177e4SLinus Torvalds	- Several aggressive SCRIPTS optimizations and changes:
3541da177e4SLinus Torvalds	  Reselect SCRIPTS code rewritten.
3551da177e4SLinus Torvalds	  Support for selection/reselection without ATN.
3561da177e4SLinus Torvalds	  And some others.
3571da177e4SLinus Torvalds	- Miscallaneous changes in the C code:
3581da177e4SLinus Torvalds	  Count actual number of CCB queued to the controller (future use).
3591da177e4SLinus Torvalds	  Lots of other minor changes.
3601da177e4SLinus Torvalds
3611da177e4SLinus TorvaldsWed May 13 20:00 1998 Gerard Roudier (groudier@club-internet.fr)
3621da177e4SLinus Torvalds	* revision 2.6m
3631da177e4SLinus Torvalds	- Problem of missed SCSI bus reset with the 53C895 fixed by
3641da177e4SLinus Torvalds	  Richard Waltham. The 53C895 needs about 650 us for the bus
3651da177e4SLinus Torvalds	  mode to settle. Delays used while resetting the controller
3661da177e4SLinus Torvalds	  and the bus have been adjusted. Thanks Richard!
3671da177e4SLinus Torvalds	- Some simplification for 64 bit arch done ccb address testing.
3681da177e4SLinus Torvalds	- Add a check of the MSG_OUT phase after Selection with ATN.
3691da177e4SLinus Torvalds	- The new tagged queue stuff seems ok, so some informationnal
370*685d5ef4SRandy Dunlap	  message have been conditioned by verbose >= 3.
371*685d5ef4SRandy Dunlap	- Do not reset if a SBMC interrupt reports the same bus mode.
3721da177e4SLinus Torvalds	- Print out the whole driver set-up. Some options were missing and
3731da177e4SLinus Torvalds	  the print statement was misplaced for modules.
3741da177e4SLinus Torvalds	- Ignore a SCSI parity interrupt if the chip is not connected to
3751da177e4SLinus Torvalds	  the SCSI bus.
3761da177e4SLinus Torvalds
3771da177e4SLinus TorvaldsSat May 1 16:00 1998 Gerard Roudier (groudier@club-internet.fr)
3781da177e4SLinus Torvalds	* revision 2.6l
3791da177e4SLinus Torvalds	- Add CCB done queue support for Alpha and perhaps some other
3801da177e4SLinus Torvalds	  architectures.
3811da177e4SLinus Torvalds	- Add some barriers to enforce memory ordering for x86 and
3821da177e4SLinus Torvalds	  Alpha architectures.
3831da177e4SLinus Torvalds	- Fix something that looks like an old bug in the nego SIR
3841da177e4SLinus Torvalds	  interrupt code in case of negotiation failure.
3851da177e4SLinus Torvalds
3861da177e4SLinus TorvaldsSat Apr 25 21:00 1998 Gerard Roudier (groudier@club-internet.fr)
3871da177e4SLinus Torvalds	* revision 2.6k
3881da177e4SLinus Torvalds	- Remove all accesses to the on-chip RAM from the C code:
3891da177e4SLinus Torvalds	  Use SCRIPTS to load the on-chip RAM.
3901da177e4SLinus Torvalds	  Use SCRIPTS to repair the start queue on selection timeout.
3911da177e4SLinus Torvalds	  Use the copy of script in main memory to calculate the chip
3921da177e4SLinus Torvalds	  context on phase mismatch.
3931da177e4SLinus Torvalds	- The above allows now to use the on-chip RAM without requiring
3941da177e4SLinus Torvalds	  to get access to the on-chip RAM from the C code. This makes
395*685d5ef4SRandy Dunlap	  on-chip RAM usable for linux-1.2.13 and for Linux-Alpha for
3961da177e4SLinus Torvalds	  instance.
3971da177e4SLinus Torvalds	- Some simplifications and cleanups in the SCRIPTS and C code.
3981da177e4SLinus Torvalds	- Buglet fixed in parity error recovery SCRIPTS (never tested).
3991da177e4SLinus Torvalds	- Minor updates in README.ncr53c8xx.
4001da177e4SLinus Torvalds
4011da177e4SLinus TorvaldsWed Apr 15 21:00 1998 Gerard Roudier (groudier@club-internet.fr)
4021da177e4SLinus Torvalds	* revision 2.6j
4031da177e4SLinus Torvalds	- Incorporate changes from linux-2.1.95 ncr53c8xx driver version.
4041da177e4SLinus Torvalds	- Add SMP support for linux-2.1.95 and above.
4051da177e4SLinus Torvalds	- Fix a bug when QUEUE FULL is returned and no commands are
4061da177e4SLinus Torvalds	  disconnected. This happens with Atlas I / L912 and may happen
4071da177e4SLinus Torvalds	  with Atlas II / LXY4.
4081da177e4SLinus Torvalds	- Nail another one on CHECK condition when requeuing the command
4091da177e4SLinus Torvalds	  for auto-sense.
4101da177e4SLinus Torvalds	- Call scsi_done() for all completed commands after interrupt
4111da177e4SLinus Torvalds	  handling.
4121da177e4SLinus Torvalds	- Increase the done queue to 24 entries.
4131da177e4SLinus Torvalds
4141da177e4SLinus TorvaldsSat Apr 4 20:00 1998 Gerard Roudier (groudier@club-internet.fr)
4151da177e4SLinus Torvalds	* revision 2.6i
4161da177e4SLinus Torvalds	- CTEST0 is used by the 53C885 for Power Management and
4171da177e4SLinus Torvalds	  priority setting between the 2 functions.
4181da177e4SLinus Torvalds	  Use SDID instead as actual target number. Just have had to
4191da177e4SLinus Torvalds	  overwrite it with SSID on reselection.
4201da177e4SLinus Torvalds	- Split DATA_IN and DATA_OUT scripts into 2 sub-scripts.
4211da177e4SLinus Torvalds	  64 segments are moved from on-chip RAM scripts.
4221da177e4SLinus Torvalds	  If more segments, a script in main memory is used for the
4231da177e4SLinus Torvalds	  additional segments.
4241da177e4SLinus Torvalds	- Since the SCRIPTS processor continues SCRIPTS execution after
4251da177e4SLinus Torvalds	  having won arbitration, do some stuff prior to testing any SCSI
4261da177e4SLinus Torvalds	  phase on reselection. This should have the vertue to process
4271da177e4SLinus Torvalds	  scripts in parallel with the SCSI core performing selection.
4281da177e4SLinus Torvalds	- Increase the done queue to 12 entries.
4291da177e4SLinus Torvalds
4301da177e4SLinus TorvaldsSun Mar 29 12:00 1998 Gerard Roudier (groudier@club-internet.fr)
4311da177e4SLinus Torvalds	* revision 2.6h
4321da177e4SLinus Torvalds	- Some fixes.
4331da177e4SLinus Torvalds
4341da177e4SLinus TorvaldsTue Mar 26 23:00 1998 Gerard Roudier (groudier@club-internet.fr)
4351da177e4SLinus Torvalds	* revision 2.6g
436*685d5ef4SRandy Dunlap	- New done queue. 8 entries by default (6 always usable).
4371da177e4SLinus Torvalds	  Can be increased if needed.
4381da177e4SLinus Torvalds	- Resources management using doubly linked queues.
4391da177e4SLinus Torvalds	- New auto-sense and QUEUE FULL handling that does not need to
4401da177e4SLinus Torvalds	  stall the NCR queue any more.
4411da177e4SLinus Torvalds	- New CCB starvation avoiding algorithm.
4421da177e4SLinus Torvalds	- Prepare CCBs for SCSI commands that cannot be queued, instead of
4431da177e4SLinus Torvalds	  inserting these commands into the waiting list. The waiting list
4441da177e4SLinus Torvalds	  is now only used while resetting and when memory for CCBs is not
4451da177e4SLinus Torvalds	  yet available?
4461da177e4SLinus Torvalds
4471da177e4SLinus TorvaldsSun Feb 8 22:00 1998 Gerard Roudier (groudier@club-internet.fr)
4481da177e4SLinus Torvalds	* revision 2.6f
4491da177e4SLinus Torvalds	- Some fixes in order to really support the 53C895, at least with
4501da177e4SLinus Torvalds	  FAST-20 devices.
4511da177e4SLinus Torvalds	- Heavy changes in the target/lun resources management to allow
4521da177e4SLinus Torvalds	  the scripts to jump directly to the CCB on reselection instead
4531da177e4SLinus Torvalds	  of walking on the lun CCBs list. Up to 32 tags per lun are now
4541da177e4SLinus Torvalds	  supported without script processor and PCI traffic overhead.
4551da177e4SLinus Torvalds
4561da177e4SLinus TorvaldsSun Jan 11 22:00 1998 Gerard Roudier (groudier@club-internet.fr)
4571da177e4SLinus Torvalds	* revision 2.6d
4581da177e4SLinus Torvalds	- new (different ?) implementation of the start queue:
4591da177e4SLinus Torvalds          Use a simple CALL to a launch script in the CCB.
4601da177e4SLinus Torvalds	- implement a minimal done queue (1 entry :-) ).
4611da177e4SLinus Torvalds          this avoid scanning all CCBs on INT FLY (Only scan all CCBs, on
4621da177e4SLinus Torvalds          overflow). Hit ratio is better than 99.9 % on my system, so no
4631da177e4SLinus Torvalds          need to have a larger done queue.
4641da177e4SLinus Torvalds	- generalization of the restart of CCB on special condition as
4651da177e4SLinus Torvalds          Abort, QUEUE FULL, CHECK CONDITION.
4661da177e4SLinus Torvalds          This has been called 'silly scheduler'.
467*685d5ef4SRandy Dunlap	- make all the profiling code conditioned by a config option.
4681da177e4SLinus Torvalds	  This spare some PCI traffic and C code when this feature is not
4691da177e4SLinus Torvalds          needed.
4701da177e4SLinus Torvalds	- handle more cleanly the situation where direction is unknown.
4711da177e4SLinus Torvalds	  The pointers patching is now performed by the SCRIPTS processor.
4721da177e4SLinus Torvalds	- remove some useless scripts instructions.
4731da177e4SLinus Torvalds
4741da177e4SLinus Torvalds	Ported from driver 2.5 series:
4751da177e4SLinus Torvalds        ------------------------------
4761da177e4SLinus Torvalds	- Use FAST-5 instead of SLOW for slow scsi devices according to
4771da177e4SLinus Torvalds	  new SPI-2 draft.
4781da177e4SLinus Torvalds	- Make some changes in order to accommodate with 875 rev <= 3
4791da177e4SLinus Torvalds	  device errata listing 397. Minor consequences are:
4801da177e4SLinus Torvalds	  . Leave use of PCI Write and Invalidate under user control.
4811da177e4SLinus Torvalds	    Now, by default the driver does not enable PCI MWI and option
4821da177e4SLinus Torvalds	    'specf:y' is required in order to enable this feature.
4831da177e4SLinus Torvalds	  . Memory Read Line is not enabled for 875 and 875-like chips.
4841da177e4SLinus Torvalds	  . Programmed burst length set to 64 DWORDS (instead of 128).
4851da177e4SLinus Torvalds	    (Note: SYMBIOS uses 32 DWORDS for the SDMS BIOS)
4861da177e4SLinus Torvalds	- Add 'buschk' boot option.
4871da177e4SLinus Torvalds	  This option enables checking of SCSI BUS data lines after SCSI
4881da177e4SLinus Torvalds	  RESET (set by default). (Submitted by Richard Waltham).
4891da177e4SLinus Torvalds	- Update the README file.
4901da177e4SLinus Torvalds	- Dispatch CONDITION MET and RESERVATION CONFLICT scsi status
4911da177e4SLinus Torvalds	  as OK driver status.
4921da177e4SLinus Torvalds	- Update the README file and the Symbios NVRAM format definition
4931da177e4SLinus Torvalds	  with removable media flags values (available with SDMS 4.09).
4941da177e4SLinus Torvalds	- Several PCI configuration registers fix-ups for powerpc.
4951da177e4SLinus Torvalds	  (Patch sent by Cort).
496