|
|
|
Sat May 12 12:00 2001 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* version ncr53c8xx-3.4.3b
|
|
|
|
- Ensure LEDC bit in GPCNTL is cleared when reading the NVRAM.
|
|
|
|
Fix sent by Stig Telfer <stig@api-networks.com>.
|
|
|
|
- Define scsi_set_pci_device() as nil for kernel < 2.4.4.
|
|
|
|
|
|
|
|
Mon Feb 12 22:30 2001 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* version ncr53c8xx-3.4.3
|
|
|
|
- Call pci_enable_device() as AC wants this to be done.
|
|
|
|
- Get both the BAR cookies actual and PCI BAR values.
|
|
|
|
(see Changelog.sym53c8xx rev. 1.7.3 for details)
|
|
|
|
- Merge changes for linux-2.4 that declare the host template
|
|
|
|
in the driver object also when the driver is statically
|
|
|
|
linked with the kernel.
|
|
|
|
|
|
|
|
Sun Sep 24 21:30 2000 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* version ncr53c8xx-3.4.2
|
|
|
|
- See Changelog.sym53c8xx, driver version 1.7.2.
|
|
|
|
|
|
|
|
Wed Jul 26 23:30 2000 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* version ncr53c8xx-3.4.1
|
|
|
|
- Provide OpenFirmware path through the proc FS on PPC.
|
|
|
|
- Remove trailing argument #2 from a couple of #undefs.
|
|
|
|
|
|
|
|
Sun Jul 09 16:30 2000 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* version ncr53c8xx-3.4.0
|
|
|
|
- Remove the PROFILE C and SCRIPTS code.
|
|
|
|
This facility was not this useful and thus was not longer
|
|
|
|
desirable given the increasing complexity of the driver code.
|
|
|
|
- Merges from FreeBSD sym-1.6.2 driver:
|
|
|
|
* Clarify memory barriers needed by the driver for architectures
|
|
|
|
that implement a weak memory ordering.
|
|
|
|
- General cleanup:
|
|
|
|
Move definitions for barriers and IO/MMIO operations to the
|
|
|
|
sym53c8xx_defs.h header files. They are now shared by the
|
|
|
|
both drivers.
|
|
|
|
Use SCSI_NCR_IOMAPPED instead of NCR_IOMAPPED.
|
|
|
|
|
|
|
|
Thu May 11 12:30 2000 Pam Delaney (pam.delaney@lsil.com)
|
|
|
|
* revision 3.3b
|
|
|
|
|
|
|
|
Mon Apr 24 12:00 2000 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.2i
|
|
|
|
- Return value 1 (instead of 0) from the driver setup routine.
|
|
|
|
- Let the driver also attach controllers that have been set to
|
|
|
|
OFF in the NVRAM as it did prior to revision 3.2g.
|
|
|
|
|
|
|
|
Sat Apr 1 12:00 2000 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.2h
|
|
|
|
- Fix a compilation problem on Alpha introduced in version 3.2g.
|
|
|
|
(`port' changed to `base_io').
|
|
|
|
- Move from `sym' to this driver a tiny change for __sparc__ that
|
|
|
|
applies to cache line size (? Probably from David S Miller).
|
|
|
|
- Make sure no data transfer will happen for Scsi_Cmnd requests
|
|
|
|
that supply SCSI_DATA_NONE direction (this avoids some BUG()
|
|
|
|
statement in the PCI code when a data buffer is also supplied).
|
|
|
|
|
|
|
|
Thu Mar 16 9:30 2000 Pam Delaney (pam.delaney@lsil.com)
|
|
|
|
* revision 3.3b-3
|
|
|
|
- Added exclusion for the 53C1010 and 53C1010_66 chips
|
|
|
|
to the driver (change to sym53c8xx_comm.h).
|
|
|
|
|
|
|
|
Mon March 6 23:15 2000 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.2g
|
|
|
|
- Add the file sym53c8xx_comm.h that collects code that should
|
|
|
|
be shared by sym53c8xx and ncr53c8xx drivers. For now, it is
|
|
|
|
a header file that is only included by the ncr53c8xx driver,
|
|
|
|
but things will be cleaned up later. This code addresses
|
|
|
|
notably:
|
|
|
|
* Chip detection and PCI related initialisations
|
|
|
|
* NVRAM detection and reading
|
|
|
|
* DMA mapping
|
|
|
|
* Boot setup command
|
|
|
|
* And some other ...
|
|
|
|
- Add support for the new dynamic dma mapping kernel interface.
|
|
|
|
Requires Linux-2.3.47 (tested with pre-2.3.47-6).
|
|
|
|
- Get data transfer direction from the scsi command structure
|
|
|
|
(Scsi_Cmnd) when this information is available.
|
|
|
|
|
|
|
|
Mon March 6 23:15 2000 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.2g
|
|
|
|
- Add the file sym53c8xx_comm.h that collects code that should
|
|
|
|
be shared by sym53c8xx and ncr53c8xx drivers. For now, it is
|
|
|
|
a header file that is only included by the ncr53c8xx driver,
|
|
|
|
but things will be cleaned up later. This code addresses
|
|
|
|
notably:
|
|
|
|
* Chip detection and PCI related initialisations
|
|
|
|
* NVRAM detection and reading
|
|
|
|
* DMA mapping
|
|
|
|
* Boot setup command
|
|
|
|
* And some other ...
|
|
|
|
- Add support for the new dynamic dma mapping kernel interface.
|
|
|
|
Requires Linux-2.3.47 (tested with pre-2.3.47-6).
|
|
|
|
- Get data transfer direction from the scsi command structure
|
|
|
|
(Scsi_Cmnd) when this information is available.
|
|
|
|
|
|
|
|
Fri Jan 14 14:00 2000 Pam Delaney (pam.delaney@lsil.com)
|
|
|
|
* revision pre-3.3b-1
|
|
|
|
- Merge parallel driver series 3.31 and 3.2e
|
|
|
|
|
|
|
|
Tue Jan 11 14:00 2000 Pam Delaney (pam.delaney@lsil.com)
|
|
|
|
* revision 3.31
|
|
|
|
- Added support for mounting disks on wide-narrow-wide
|
|
|
|
scsi configurations.
|
|
|
|
- Built off of version 3.30
|
|
|
|
|
|
|
|
Mon Jan 10 13:30 2000 Pam Delaney (pam.delaney@lsil.com)
|
|
|
|
* revision 3.30
|
|
|
|
- Added capability to use the integrity checking code
|
|
|
|
in the kernel (optional).
|
|
|
|
- Disabled support for the 53C1010.
|
|
|
|
- Built off of version 3.2c
|
|
|
|
|
|
|
|
Sat Jan 8 22:00 2000 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.2e
|
|
|
|
- Add year 2000 copyright.
|
|
|
|
- Display correctly bus signals when bus is detected wrong.
|
|
|
|
- Remove the dead code that broke driver 3.2d.
|
|
|
|
|
|
|
|
Mon Dec 6 22:00 1999 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.2d
|
|
|
|
- Change messages written by the driver at initialisation and
|
|
|
|
through the /proc FS (rather cosmetic changes that consist in
|
|
|
|
printing out the PCI bus number and device/function).
|
|
|
|
- Get rid of the old PCI bios interface, but preserve kernel 2.0
|
|
|
|
compatibility from a simple wrapper.
|
|
|
|
- Remove the compilation condition about having to acquire the
|
|
|
|
io_request_lock since it seems to be a definite feature now.:)
|
|
|
|
- proc_dir structure no longer needed for kernel >= 2.3.27.
|
|
|
|
- Change the driver detection code by the sym53c8xx one, modulo
|
|
|
|
some minor changes. The driver can now attach any number of
|
|
|
|
controllers (>40) and does no longer hoger stack space at
|
|
|
|
initialisation.
|
|
|
|
- Definitely disable overlapped PCI arbitration for all dual
|
|
|
|
function chips, since I cannot make sure for what chip revisions
|
|
|
|
it is actually safe.
|
|
|
|
- Add support for the SYM53C1510D.
|
|
|
|
- Update the poor Tekram sync factor table.
|
|
|
|
- Remove the compilation condition about having to acquire the
|
|
|
|
io_request_lock since it seems to be a definite feature now.:)
|
|
|
|
- proc_dir structure no longer needed for kernel >= 2.3.27.
|
|
|
|
|
|
|
|
Sat Sep 11 18:00 1999 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.2c
|
|
|
|
- Handle correctly (hopefully) jiffies wrap-around.
|
|
|
|
- Restore the entry used to detect 875 until revision 0xff.
|
|
|
|
(I removed it inadvertently, it seems :) )
|
|
|
|
- Replace __initfunc() which is deprecated stuff by __init which
|
|
|
|
is not yet so. ;-)
|
|
|
|
- Add support of some 'resource handling' for linux-2.3.13.
|
|
|
|
Basically the BARs have been changed to something more complex
|
|
|
|
in the pci_dev structure.
|
|
|
|
- Remove some deprecated code.
|
|
|
|
|
|
|
|
Sat May 10 11:00 1999 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision pre-3.2b-1
|
|
|
|
- Support for the 53C895A by Pamela Delaney <pam.delaney@lsil.com>
|
|
|
|
The 53C895A contains all of the features of the 896 but has only
|
|
|
|
one channel and has a 32 bit PCI bus. It does 64 bit PCI addressing
|
|
|
|
using dual cycle PCI data transfers.
|
|
|
|
- Miscellaneous minor fixes.
|
|
|
|
- Some additions to the README.ncr53c8xx file.
|
|
|
|
|
|
|
|
Sun Apr 11 10:00 1999 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.2a
|
|
|
|
- Add 'hostid:#id' boot option. This option allows to change the
|
|
|
|
default SCSI id the driver uses for controllers.
|
|
|
|
- Remove nvram layouts and driver set-up structures from the C source,
|
|
|
|
and use the one defined in sym53c8xx_defs.h file.
|
|
|
|
(shared by both drivers).
|
|
|
|
- Set for now MAX LUNS to 16 (instead of 8).
|
|
|
|
|
|
|
|
Thu Mar 11 23:00 1999 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.2 (8xx-896 driver bundle)
|
|
|
|
- Only define the host template in ncr53c8xx.h and include the
|
|
|
|
sym53c8xx_defs.h file.
|
|
|
|
- Declare static all symbols that do not need to be visible from
|
|
|
|
outside the driver code.
|
|
|
|
- Add 'excl' boot command option that allows to pass to the driver
|
|
|
|
io address of devices not to attach.
|
|
|
|
- Add info() function called from the host template to print
|
|
|
|
driver/host information.
|
|
|
|
- Minor documentation additions.
|
|
|
|
|
|
|
|
Sat Mar 6 11:00 1999 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.1h
|
|
|
|
- Fix some oooold bug that hangs the bus if a device rejects a
|
|
|
|
negotiation. Btw, the corresponding stuff also needed some cleanup
|
|
|
|
and thus the change is a bit larger than it could have been.
|
|
|
|
- Still some typo that made compilation fail for 64 bit (trivial fix).
|
|
|
|
|
|
|
|
Sun Feb 14:00 1999 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.1g
|
|
|
|
- Deal correctly with 64 bit PCI address registers on Linux 2.2.
|
|
|
|
Pointed out by Leonard Zubkoff.
|
|
|
|
- Allow to tune request_irq() flags from the boot command line using
|
|
|
|
ncr53c8xx=irqm:??, as follows:
|
|
|
|
a) If bit 0x10 is set in irqm, IRQF_SHARED flag is not used.
|
|
|
|
b) If bit 0x20 is set in irqm, IRQF_DISABLED flag is not used.
|
|
|
|
By default the driver uses both IRQF_SHARED and IRQF_DISABLED.
|
|
|
|
Option 'ncr53c8xx=irqm:0x20' may be used when an IRQ is shared by
|
|
|
|
a 53C8XX adapter and a network board.
|
|
|
|
- Tiny mispelling fixed (ABORT instead of ABRT). Was fortunately
|
|
|
|
harmless.
|
|
|
|
- Negotiate SYNC data transfers with CCS devices.
|
|
|
|
|
|
|
|
Sat Jan 16 17:30 1999 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.1f
|
|
|
|
- Some PCI fix-ups not needed any more for PPC (from Cort).
|
|
|
|
- Cache line size set to 16 DWORDS for Sparc (from DSM).
|
|
|
|
- Waiting list look-up didn't work for the first command of the list.
|
|
|
|
- Remove 2 useless lines of code.
|
|
|
|
|
|
|
|
Sun Dec 13 18:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.1e
|
|
|
|
- Same work-around as for the 53c876 rev <= 0x15 for 53c896 rev 1:
|
|
|
|
Disable overlapped arbitration. This will not make difference
|
|
|
|
since the chip has on-chip RAM.
|
|
|
|
|
|
|
|
Thu Nov 26 22:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.1d
|
|
|
|
- The SISL RAID change requires now remap_pci_mem() stuff to be
|
|
|
|
compiled for __i386__ when normal IOs are used.
|
|
|
|
- Minor spelling fixes in doc files.
|
|
|
|
|
|
|
|
Sat Nov 21 18:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.1c
|
|
|
|
- Ignore chips that are driven by SISL RAID (DAC 960).
|
|
|
|
Change sent by Leonard Zubkoff and slightly reworked.
|
|
|
|
- Still a buglet in the tags initial settings that needed to be fixed.
|
|
|
|
It was not possible to disable TGQ at system startup for devices
|
|
|
|
that claim TGQ support. The driver used at least 2 for the queue
|
|
|
|
depth but did'nt keep track of user settings for tags depth lower
|
|
|
|
than 2.
|
|
|
|
|
|
|
|
Wed Nov 11 10:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.1b
|
|
|
|
- The driver was unhappy when configured with default_tags > MAX_TAGS
|
|
|
|
Hopefully doubly-fixed.
|
|
|
|
- Update the Configure.help driver section that speaks of TAGS.
|
|
|
|
|
|
|
|
Wed Oct 21 21:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.1a
|
|
|
|
- Changes from Eddie Dost for Sparc and Alpha:
|
|
|
|
ioremap/iounmap support for Sparc.
|
|
|
|
pcivtophys changed to bus_dvma_to_phys.
|
|
|
|
- Add the 53c876 description to the chip table. This is only useful
|
|
|
|
for printing the right name of the controller.
|
|
|
|
- DEL-441 Item 2 work-around for the 53c876 rev <= 5 (0x15).
|
|
|
|
- Add additional checking of INQUIRY data:
|
|
|
|
Check INQUIRY data received length is at least 7. Byte 7 of
|
|
|
|
inquiry data contains device features bits and the driver might
|
|
|
|
be confused by garbage. Also check peripheral qualifier.
|
|
|
|
- Cleanup of the SCSI tasks management:
|
|
|
|
Remove the special case for 32 tags. Now the driver only uses the
|
|
|
|
scheme that allows up to 64 tags per LUN.
|
|
|
|
Merge some code from the 896 driver.
|
|
|
|
Use a 1,3,5,...MAXTAGS*2+1 tag numbering. Previous driver could
|
|
|
|
use any tag number from 1 to 253 and some non conformant devices
|
|
|
|
might have problems with large tag numbers.
|
|
|
|
- 'no_sync' changed to 'no_disc' in the README file. This is an old
|
|
|
|
and trivial mistake that seems to demonstrate the README file is
|
|
|
|
not often read. :)
|
|
|
|
|
|
|
|
Sun Oct 4 14:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.0i
|
|
|
|
- Cosmetic changes for sparc (but not for the driver) that needs
|
|
|
|
__irq_itoa() to be used for printed IRQ value to be understandable.
|
|
|
|
- Some problems with the driver that didn't occur using driver 2.5f
|
|
|
|
were due to a SCSI selection problem triggered by a clearly
|
|
|
|
documented feature that in fact seems not to work: (53C8XX chips
|
|
|
|
are claimed by the manuals to be able to execute SCSI scripts just
|
|
|
|
after abitration while the SCSI core is performing SCSI selection).
|
|
|
|
This optimization is broken and has been removed.
|
|
|
|
- Some broken scsi devices are confused when a negotiation is started
|
|
|
|
on a LUN that does not correspond to a real device. According to
|
|
|
|
SCSI specs, this is a device firmware bug. This has been worked
|
|
|
|
around by only starting negotiation if the LUN has previously be
|
|
|
|
used for at least 1 successful SCSI command.
|
|
|
|
- The 'last message sent' printed out on M_REJECT message reception
|
|
|
|
was read from the SFBR i/o register after the previous message had
|
|
|
|
been sent.
|
|
|
|
This was not correct and affects all previous driver versions and
|
|
|
|
the original FreeBSD one as well. The SCSI scripts has been fixed
|
|
|
|
so that it now provides the right information to the C code.
|
|
|
|
|
|
|
|
Sat Jul 18 13:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.0g
|
|
|
|
- Preliminary fixes for Big Endian (sent by Eddie C. Dost).
|
|
|
|
Big Endian architectures should work again with the driver.
|
|
|
|
Eddie's patch has been partially applied since current 2.1.109
|
|
|
|
does not have all the Sparc changes of the vger tree.
|
|
|
|
- Use of BITS_PER_LONG instead of (~0UL == 0xffffffffUL) has fixed
|
|
|
|
the problem observed when the driver was compiled using EGCS or
|
|
|
|
PGCC.
|
|
|
|
|
|
|
|
Mon Jul 13 20:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.0f
|
|
|
|
- Some spelling fixes.
|
|
|
|
- linux/config.h misplaced in ncr53c8xx.h
|
|
|
|
- MODULE_PARM stuff added for linux 2.1.
|
|
|
|
- check INQUIRY response data format is exactly 2.
|
|
|
|
- use BITS_PER_LONG if defined.
|
|
|
|
|
|
|
|
Sun Jun 28 12:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.0e
|
|
|
|
- Some cleanup, spelling fixes, version checks, documentations
|
|
|
|
changes, etc ...
|
|
|
|
|
|
|
|
Sat Jun 20 20:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.0c
|
|
|
|
- Add a boot setup option that allows to set up device queue depths
|
|
|
|
at boot-up. This option is very useful since Linux does not
|
|
|
|
allow to change scsi device queue depth once the system has been
|
|
|
|
booted up.
|
|
|
|
|
|
|
|
Sun Jun 15 23:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.0a
|
|
|
|
- Support for up to 64 TAGS per LUN.
|
|
|
|
- Rewrite the TARGET vs LUN capabilities management.
|
|
|
|
CmdQueue is now handled as a LUN capability as it shall be.
|
|
|
|
This also fixes a bug triggered when disabling tagged command
|
|
|
|
queuing for a device that had this feature enabled.
|
|
|
|
- Remove the ncr_opennings() stuff that was useless under Linux
|
|
|
|
and hard to understand to me.
|
|
|
|
- Add "setverbose" procfs driver command. It allows to tune
|
|
|
|
verbose level after boot-up. Setting this level to zero, for
|
|
|
|
example avoid flooding the syslog file.
|
|
|
|
- Add KERN_XXX to some printk's.
|
|
|
|
|
|
|
|
Tue Jun 10 23:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 3.0
|
|
|
|
- Linux config changes for 2.0.34:
|
|
|
|
Remove NVRAM detection config option. This option is now enabled
|
|
|
|
by default but can be disabled by editing the driver header file.
|
|
|
|
Add a PROFILE config option.
|
|
|
|
- Update Configure.help
|
|
|
|
- Add calls to new function mdelay() for milli-seconds delay if
|
|
|
|
kernel version >= 2.1.105.
|
|
|
|
- Replace all printf(s) by printk(s). After all, the ncr53c8xx is
|
|
|
|
a driver for Linux.
|
|
|
|
- Perform auto-sense on COMMAND TERMINATED. Not sure it is useful.
|
|
|
|
- Some other minor changes.
|
|
|
|
|
|
|
|
Tue Jun 4 23:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 2.6n
|
|
|
|
- Code cleanup and simplification:
|
|
|
|
Remove kernel 1.2.X and 1.3.X support.
|
|
|
|
Remove the _old_ target capabilities table.
|
|
|
|
Remove the error recovery code that have'nt been really useful.
|
|
|
|
Use a single alignment boundary (CACHE_LINE_SIZE) for data
|
|
|
|
structures.
|
|
|
|
- Several aggressive SCRIPTS optimizations and changes:
|
|
|
|
Reselect SCRIPTS code rewritten.
|
|
|
|
Support for selection/reselection without ATN.
|
|
|
|
And some others.
|
|
|
|
- Miscallaneous changes in the C code:
|
|
|
|
Count actual number of CCB queued to the controller (future use).
|
|
|
|
Lots of other minor changes.
|
|
|
|
|
|
|
|
Wed May 13 20:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 2.6m
|
|
|
|
- Problem of missed SCSI bus reset with the 53C895 fixed by
|
|
|
|
Richard Waltham. The 53C895 needs about 650 us for the bus
|
|
|
|
mode to settle. Delays used while resetting the controller
|
|
|
|
and the bus have been adjusted. Thanks Richard!
|
|
|
|
- Some simplification for 64 bit arch done ccb address testing.
|
|
|
|
- Add a check of the MSG_OUT phase after Selection with ATN.
|
|
|
|
- The new tagged queue stuff seems ok, so some informationnal
|
|
|
|
message have been conditionned by verbose >= 3.
|
|
|
|
- Donnot reset if a SBMC interrupt reports the same bus mode.
|
|
|
|
- Print out the whole driver set-up. Some options were missing and
|
|
|
|
the print statement was misplaced for modules.
|
|
|
|
- Ignore a SCSI parity interrupt if the chip is not connected to
|
|
|
|
the SCSI bus.
|
|
|
|
|
|
|
|
Sat May 1 16:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 2.6l
|
|
|
|
- Add CCB done queue support for Alpha and perhaps some other
|
|
|
|
architectures.
|
|
|
|
- Add some barriers to enforce memory ordering for x86 and
|
|
|
|
Alpha architectures.
|
|
|
|
- Fix something that looks like an old bug in the nego SIR
|
|
|
|
interrupt code in case of negotiation failure.
|
|
|
|
|
|
|
|
Sat Apr 25 21:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 2.6k
|
|
|
|
- Remove all accesses to the on-chip RAM from the C code:
|
|
|
|
Use SCRIPTS to load the on-chip RAM.
|
|
|
|
Use SCRIPTS to repair the start queue on selection timeout.
|
|
|
|
Use the copy of script in main memory to calculate the chip
|
|
|
|
context on phase mismatch.
|
|
|
|
- The above allows now to use the on-chip RAM without requiring
|
|
|
|
to get access to the on-chip RAM from the C code. This makes
|
|
|
|
on-chip RAM useable for linux-1.2.13 and for Linux-Alpha for
|
|
|
|
instance.
|
|
|
|
- Some simplifications and cleanups in the SCRIPTS and C code.
|
|
|
|
- Buglet fixed in parity error recovery SCRIPTS (never tested).
|
|
|
|
- Minor updates in README.ncr53c8xx.
|
|
|
|
|
|
|
|
Wed Apr 15 21:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 2.6j
|
|
|
|
- Incorporate changes from linux-2.1.95 ncr53c8xx driver version.
|
|
|
|
- Add SMP support for linux-2.1.95 and above.
|
|
|
|
- Fix a bug when QUEUE FULL is returned and no commands are
|
|
|
|
disconnected. This happens with Atlas I / L912 and may happen
|
|
|
|
with Atlas II / LXY4.
|
|
|
|
- Nail another one on CHECK condition when requeuing the command
|
|
|
|
for auto-sense.
|
|
|
|
- Call scsi_done() for all completed commands after interrupt
|
|
|
|
handling.
|
|
|
|
- Increase the done queue to 24 entries.
|
|
|
|
|
|
|
|
Sat Apr 4 20:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 2.6i
|
|
|
|
- CTEST0 is used by the 53C885 for Power Management and
|
|
|
|
priority setting between the 2 functions.
|
|
|
|
Use SDID instead as actual target number. Just have had to
|
|
|
|
overwrite it with SSID on reselection.
|
|
|
|
- Split DATA_IN and DATA_OUT scripts into 2 sub-scripts.
|
|
|
|
64 segments are moved from on-chip RAM scripts.
|
|
|
|
If more segments, a script in main memory is used for the
|
|
|
|
additional segments.
|
|
|
|
- Since the SCRIPTS processor continues SCRIPTS execution after
|
|
|
|
having won arbitration, do some stuff prior to testing any SCSI
|
|
|
|
phase on reselection. This should have the vertue to process
|
|
|
|
scripts in parallel with the SCSI core performing selection.
|
|
|
|
- Increase the done queue to 12 entries.
|
|
|
|
|
|
|
|
Sun Mar 29 12:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 2.6h
|
|
|
|
- Some fixes.
|
|
|
|
|
|
|
|
Tue Mar 26 23:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 2.6g
|
|
|
|
- New done queue. 8 entries by default (6 always useable).
|
|
|
|
Can be increased if needed.
|
|
|
|
- Resources management using doubly linked queues.
|
|
|
|
- New auto-sense and QUEUE FULL handling that does not need to
|
|
|
|
stall the NCR queue any more.
|
|
|
|
- New CCB starvation avoiding algorithm.
|
|
|
|
- Prepare CCBs for SCSI commands that cannot be queued, instead of
|
|
|
|
inserting these commands into the waiting list. The waiting list
|
|
|
|
is now only used while resetting and when memory for CCBs is not
|
|
|
|
yet available?
|
|
|
|
|
|
|
|
Sun Feb 8 22:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 2.6f
|
|
|
|
- Some fixes in order to really support the 53C895, at least with
|
|
|
|
FAST-20 devices.
|
|
|
|
- Heavy changes in the target/lun resources management to allow
|
|
|
|
the scripts to jump directly to the CCB on reselection instead
|
|
|
|
of walking on the lun CCBs list. Up to 32 tags per lun are now
|
|
|
|
supported without script processor and PCI traffic overhead.
|
|
|
|
|
|
|
|
Sun Jan 11 22:00 1998 Gerard Roudier (groudier@club-internet.fr)
|
|
|
|
* revision 2.6d
|
|
|
|
- new (different ?) implementation of the start queue:
|
|
|
|
Use a simple CALL to a launch script in the CCB.
|
|
|
|
- implement a minimal done queue (1 entry :-) ).
|
|
|
|
this avoid scanning all CCBs on INT FLY (Only scan all CCBs, on
|
|
|
|
overflow). Hit ratio is better than 99.9 % on my system, so no
|
|
|
|
need to have a larger done queue.
|
|
|
|
- generalization of the restart of CCB on special condition as
|
|
|
|
Abort, QUEUE FULL, CHECK CONDITION.
|
|
|
|
This has been called 'silly scheduler'.
|
|
|
|
- make all the profiling code conditionned by a config option.
|
|
|
|
This spare some PCI traffic and C code when this feature is not
|
|
|
|
needed.
|
|
|
|
- handle more cleanly the situation where direction is unknown.
|
|
|
|
The pointers patching is now performed by the SCRIPTS processor.
|
|
|
|
- remove some useless scripts instructions.
|
|
|
|
|
|
|
|
Ported from driver 2.5 series:
|
|
|
|
------------------------------
|
|
|
|
- Use FAST-5 instead of SLOW for slow scsi devices according to
|
|
|
|
new SPI-2 draft.
|
|
|
|
- Make some changes in order to accommodate with 875 rev <= 3
|
|
|
|
device errata listing 397. Minor consequences are:
|
|
|
|
. Leave use of PCI Write and Invalidate under user control.
|
|
|
|
Now, by default the driver does not enable PCI MWI and option
|
|
|
|
'specf:y' is required in order to enable this feature.
|
|
|
|
. Memory Read Line is not enabled for 875 and 875-like chips.
|
|
|
|
. Programmed burst length set to 64 DWORDS (instead of 128).
|
|
|
|
(Note: SYMBIOS uses 32 DWORDS for the SDMS BIOS)
|
|
|
|
- Add 'buschk' boot option.
|
|
|
|
This option enables checking of SCSI BUS data lines after SCSI
|
|
|
|
RESET (set by default). (Submitted by Richard Waltham).
|
|
|
|
- Update the README file.
|
|
|
|
- Dispatch CONDITION MET and RESERVATION CONFLICT scsi status
|
|
|
|
as OK driver status.
|
|
|
|
- Update the README file and the Symbios NVRAM format definition
|
|
|
|
with removable media flags values (available with SDMS 4.09).
|
|
|
|
- Several PCI configuration registers fix-ups for powerpc.
|
|
|
|
(Patch sent by Cort).
|