opnsense-src/sys
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 <pam.delaney@lsil.com>
(For back-porting to Linux sym53c8xx driver 1.6x series)
2000-02-13 12:14:07 +00:00
..
alpha Oops, forgot this from the previous commit. Remove obsolete #ifdef ISO. 2000-02-13 03:55:16 +00:00
amd64 Fix an uninitialised variable which affected probing on some machines. 2000-02-13 09:49:05 +00:00
boot Support the new ata(4) syntax, while providing backward compatibility for wd(4). 2000-02-09 19:23:46 +00:00
cam Add a quirk type (and one for ARCHIVE Python's) that disables the 2000-02-03 18:29:25 +00:00
coda Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
compat Avoid passing an uninitialized structure member to the real 2000-02-01 16:20:24 +00:00
compile
conf Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
contrib When writing out bitmap buffers, need to skip over ones that already 2000-01-30 20:32:59 +00:00
crypto Prototype fix for IPsec authentication related functions 2000-02-10 19:35:53 +00:00
ddb Add a new sysctl "debug.enter_debugger" (when the kernel is compiled 2000-01-27 22:27:34 +00:00
dev Simplifications: 2000-02-13 12:14:07 +00:00
fs Supported non-512 bytes/sector format. 2000-01-27 14:43:07 +00:00
geom Remove #if NCCD > 0 - it's guaranteed to be true by config if ccd.c is 2000-01-29 14:29:56 +00:00
gnu Remove #if NDGB > 0 and #if NDGM > 0 2000-01-29 18:42:45 +00:00
i4b update to isdn4bsd beta release 0.90 1999-12-14 20:54:38 +00:00
i386 Fix an uninitialised variable which affected probing on some machines. 2000-02-13 09:49:05 +00:00
isa When allocating resources in the following cases: 2000-02-11 04:35:07 +00:00
isofs/cd9660 remove check now done in vn_isdisk(). 2000-01-10 12:24:36 +00:00
kern Fix sign reversal in adjtime(2). 2000-02-13 10:56:32 +00:00
libkern Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
miscfs Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:07:34 +00:00
modules Use config's conditional compilation rather than using #ifdefs that make 2000-01-29 15:08:56 +00:00
msdosfs Supported non-512 bytes/sector format. 2000-01-27 14:43:07 +00:00
net Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
netatalk Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
netatm Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
netgraph Add control message ASCII conversion for this node type. 2000-01-27 01:32:53 +00:00
netinet Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
netinet6 Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
netipx Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
netkey comment the string after #endif 2000-01-15 05:15:06 +00:00
netnatm Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
netncp Enable '=' character in the filename. 2000-01-29 02:10:37 +00:00
netns Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
nfs Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
nfsclient Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
nfsserver Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
ntfs Forward declare some structs so that this header is more self-suifficent. 2000-01-14 19:54:42 +00:00
nwfs Check if module was compiled without SMP support and running on 2000-01-15 08:35:48 +00:00
pc98 Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
pccard Update the pci->pcic compatability module to newbus. This is a simple 2000-02-02 16:49:21 +00:00
pci Do a trivial conversion of xrpu to newbus. 2000-02-12 07:56:44 +00:00
posix4 Track libc_r addition of semaphores implementation. 2000-01-20 07:55:42 +00:00
powerpc The kernel side of per-process unaligned access control (printing, fixing & 2000-01-16 07:07:33 +00:00
rpc $Id$ -> $FreeBSD$ 1999-08-27 23:45:13 +00:00
svr4 Fix handling of svr4_sigsets, which are implemented in SysVR4 as a sequence 2000-01-15 15:38:17 +00:00
sys Yet-another-update: rename ``kern.prison'' to a new sysctl root entry, 2000-02-12 13:41:56 +00:00
tools Use a seperate -c and -h mode. The vnode_if.c file is compiled only into 1999-12-12 16:43:05 +00:00
ufs When writing out bitmap buffers, need to skip over ones that already 2000-01-30 20:32:59 +00:00
vm The swapdev_vp changes made to rip out the swap specfs interaction 2000-01-25 17:49:12 +00:00
Makefile ${MACHINE} -> ${MACHINE_ARCH} 1999-11-14 13:54:44 +00:00