Commit Graph
18 Commits
Author SHA1 Message Date
Gerard Roudier 475d7ca868 PR: 20895
MFC: sym_defs.h 1.6, sym_hipd.c 1.18
- Fix PR kern/20895
- Work-around PR misc/17584
2000-09-17 18:50:20 +00:00
Gerard Roudier 31102137ca MFC: `cvs log -r1.17 -r1.18 sym_hipd.c' to get full log.
Significant changes:
- Remove obsolete informations from the README.sym file.
- Check also against DT_DATA_IN phase on parity/crc error.
  (Merged from Pamela Delaney's changes in the Linux driver)
- Fix support for phase mismatch handling from the C code for
  the C1010 (only useful for testing issue).
- Add an asynchonous notification handler for `lost device'
  (AC_LOST).
2000-07-05 20:37:53 +00:00
Gerard Roudier 80d6348ece MFC: update sym_hipd.c to revision 1.16.
Previous MFC came from revision 1.13.
Fixes the user settings report problem with Tekram
layout NVRAM for devices configured for Fast-40 and
uses `bus space' instead of legacy IO/MMIO methods.
Other changes that make the patch larger than it
could have been are not dangerous for -stable and it
would have been less safe, in my opinion, to try
to revert them prior to this MFC.
2000-06-14 16:14:46 +00:00
Gerard Roudier 06aaddc4df MFC: sym_fw.h, sym_fw1.h, sym_fw2.h added by a previous
batch of commits.
MFC: Support for NCR legacy devices 810, 815 and 825.
MFC: Use of BUS DMA mapping kernel interface.
MFC: Better C1010 support.
MFC: Better handling of wrong data direction and wrong
     phases.
2000-05-14 10:46:20 +00:00
cvs2svn 342775c738 This commit was manufactured by cvs2svn to create branch 'RELENG_4'. 2000-05-13 21:33:58 +00:00
cvs2svn 811074f9c9 This commit was manufactured by cvs2svn to create branch 'RELENG_4'. 2000-05-04 11:31:17 +00:00
Gerard Roudier 7a35ada03e Simplifications:
- Remove all the code intended to deal with experimental
  C1010 revisions. This code got useless due to commercial
  chip revisions having been fixed.
Fixes:
- Rewrite/rework the WSR condition handling.
  Previous drivers snooped on the BUS through the SBDL IO
  register and this has been discovered to trigger a spurious
  SCSI parity error when WSR had been set by chip and cleared
  by SCRIPTS prior to reading SBDL bit [0...7].
  On the other hand, the C1010 does not use the SWIDE register
  when synchronous data transfers are taking place and
  requires a CHMOV (1) WHEN DATA_IN to be performed in order
  to move to memory the residual byte when WSR is set and
  the residual byte is useful data.
  BTW, the new WSR handling by the driver is simpler.
- No longer attempt to read from SCRIPTS the SBDL register.
  This is intended to avoid to be victimized again by any other
  issue regarding the handling of this register by 8xx chips.
Miscellaneous:
- The driver is now able to handle the WSR + IGN RESIDUE
  condition at the end of a DATA IN I/O without need of a
  programmed interrupt. It is a minor? optimization.
- A few other minor cosmetic changes.

This driver version fixes notably a permanent SCSI parity
error condition at boot that can be triggerred due to recent
changes in cam_xpt.c between 1.79 and 1.80.
Changes in CAM/XPT are fine, but the new handling of the full
INQUIRY may trigger the driver problem when a target returned
an odd value in the `additionnal length' field of the INQUIRY
response.

The diff against previous driver version is large, but it
consists approximatively in:
- 350 lignes removed and not compiled in previous drivers
  (They addressed experimental C1010 revisions)
- 250 lignes added or changed, half being comments or empty
  lines.
So, in fact, the real changes are about 120 lines of source.
About 80 lines address SCRIPTS changes and about 40 lines
address C code changes.

Approved by: jkh

New WSR handling reviewed by Pamela Delaney <[email protected]>
(For back-porting to Linux sym53c8xx driver 1.6x series)
2000-02-13 12:14:07 +00:00
Gerard Roudier b5727bb5f0 - Fix an issue that paniced the machine in data overrun
condition.
- 1 line change that allows to balance chips between ncr
  and sym using pci compat option (not compiled by default
  in 4.0 but maintains the driver source 3.4 compatible).
2000-01-28 20:11:32 +00:00
Gerard Roudier 6f9e728a48 - Add year 2000 copyright to driver files.
- Set MAX_OFFS driver compile option to 63 (was 64 which is wrong).
  - Fix a typo in the SYMBIOS NVRAM layout structure and add field and
    bit definition for the support of PIM_NOBUSRESET.
  - Report to XPT PIM_NOBUSRESET and PIM_SCANHILO if set by user in NVRAM.
  - Negotiate SYNC immediately after WIDE response from the target as
    suggested by Justin Gibbs.
  - Remove some misleading comment about CmdQue handling by CAM.
  - Apply correctly the MAX_WIDE and MAX_OFFS driver options.
2000-01-08 19:58:17 +00:00
Gerard Roudier a6fa47ec0d - Add device entry for the next generation of C1010 device
(pci dev_id 0x21).
- Start the SCRIPTS processor without resetting the SCSI BUS
  at initialization.
- Remove the "Host adapter CCB chain" (got useless given the
  new queuing scheme).
- Display correctly the state of SCSI signals, when SCSI BUS
  looks bad.
- Cosmetic changes in messages printed out at initialization.
- Notifications and messages on RESET conditions slightly
  reworked.
- TEKRAM 24C16 NVRAM support fixed (also reported ok).
2000-01-01 15:24:44 +00:00
David E. O'Brien 4d129adce5 Go ahead and take these off the vendor branch as Gerard Roudier is now
a committer and will be maintaining these in the usual manner.

Add $FreeBSD$'s to get them off on the right foot.
1999-12-30 06:19:10 +00:00
David E. O'Brien f7c17b70a8 * The C1010 stepping B0 (Rev 1) tested OK for DT transfers without the U3EN
broken bit work-around enabled.
* Fixed a bug that made MDP not work. (However, MDP is actually not tested
  due to lack of hardware using this feature).
* Chip table changed to support the C1010 B0 w/o the U3EN bit work-around
  enabled.
* Add the SYM_SETUP_MAX_LUN, SYM_SETUP_LP_PROBE_MAP (used to tell the
  driver about chips that are to be claimed with lower priority than old
  PCI bus based driver (typically the ncr)), SYM_SETUP_SCSI_DIFF, and
  SYM_SETUP_PCI_PARITY options.

Submitted by:	Gerard Roudier <[email protected]>
1999-12-16 17:00:53 +00:00
David E. O'Brien 8fac250d9e Update to the 0.12.0-19991127 patch + my header path & doc changes. 1999-11-28 01:35:29 +00:00
David E. O'Brien 8d2e981009 Adjust sym' include file path to match where sym' landed in our tree.
Done as vendor import as I hope the author will accept this patch, and
I'm not ready to take this thing off the vendor branch yet.
1999-11-28 00:45:27 +00:00
David E. O'Brien ec9612e79e Adjust sym' include file path to match where sym' landed in our tree.
Done as vendor import as I hope the author will accept this patch, and
I'm not ready to take this thing off the vendor branch yet.
1999-11-28 00:39:09 +00:00
David E. O'Brien b24c086a80 Update to the SYM-0.11.0-19991120 patch.
Submitted by:	Gerard Roudier <[email protected]>
1999-11-27 23:37:15 +00:00
David E. O'Brien da0e9bf6b5 Update to the SYM-0.10.0-19991111 patch.
Submitted by:	Gerard Roudier <[email protected]>
1999-11-27 23:35:46 +00:00
David E. O'Brien c19e61b2f2 New `sym' device driver optimized for the Symbios/LSI 53C896/53C895A/53C1010
PCI SCSI controllers.  This driver also supports the following Symbios/LSI
PCI SCSI chips: 53C810A, 53C825A, 53C860, 53C875, 53C876, 53C885, 53C895.

However, it does NOT support earlier chips as the following ones: 53C810,
53C815, 53C825.

See README.sym for more details.

Submitted-by:	Gerard Roudier <[email protected]>
1999-11-27 23:32:35 +00:00