| 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 OpenFirmare 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). |