freebsd-dev/sys/dev
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
..
advansys Fix indentation. 2000-02-04 14:25:24 +00:00
aha Fix plug and play support: 2000-01-24 07:08:40 +00:00
ahb Remove #include "eisa.h" and #if NEISA > 0 2000-01-29 18:22:33 +00:00
aic
aic7xxx Kill the "unpause_always" argument to unpause_sequencer(). The reasons 2000-02-09 21:25:00 +00:00
amd
amr
an
ar Remove definition of the unimplemented "control" hook. 2000-01-21 01:39:40 +00:00
ata That "NO DRIVER" panic fix wasn't good enough... 2000-02-11 07:37:00 +00:00
atkbdc - Be slightly more cautious and try to make more sure the keyboard 2000-02-11 01:22:30 +00:00
bktr The Leadtek Winfast TV2000 has one of the FM capable Tuners. Don't 2000-02-12 08:49:21 +00:00
buslogic Remove #include "eisa.h" and #if NEISA > 0 - this is guaranteed by config. 2000-01-29 14:27:26 +00:00
cardbus
ccd Remove #if NCCD > 0 - it's guaranteed to be true by config if ccd.c is 2000-01-29 14:29:56 +00:00
cs
cy Clean up some more loose ends.. 2000-01-23 11:50:43 +00:00
dc Add support for DM9102A boards with Davicom DM9801 HomePNA PHYs. 2000-01-24 17:19:37 +00:00
de
dec
dgb Remove #if NDGB > 0 and #if NDGM > 0 2000-01-29 18:42:45 +00:00
dpt Remove #include "eisa.h" and #if NEISA > 0 as it's only ever compiled 2000-01-29 14:31:57 +00:00
ed Propagate MAC address in CIS tupple to dev/ed/ driver. 2000-01-21 03:08:46 +00:00
eisa
en Remove #if NEN > 0 in the name of FreeBSD - it's not required as config 2000-01-29 14:38:04 +00:00
ep Fix a bug in the last commit. >> 4 instead of >> 8. *bap* 2000-01-23 08:46:21 +00:00
ex
fb Remove #include "vga.h" and #if NVGA > 0 as it's implied by config. 2000-01-29 14:43:47 +00:00
fdc
fe
fxp
hea
hfa
ic
ida
ie Remove #if NIE > 0 test, it's guaranteed to be true by config. 2000-01-29 14:41:52 +00:00
iicbus
isp Add in 12160 (Ultra3) support. Redo things to use the newbus code. 2000-02-11 19:45:17 +00:00
joy
kbd - Be slightly more cautious and try to make more sure the keyboard 2000-02-11 01:22:30 +00:00
lnc Remove a bunch of unused (NO-OP) #if NFOO > 0 type includes and some 2000-01-29 16:17:36 +00:00
mc146818
mca
mcd Remove a bunch of unused (NO-OP) #if NFOO > 0 type includes and some 2000-01-29 16:17:36 +00:00
md
mii
mlx
mse Remove a bunch of unused (NO-OP) #if NFOO > 0 type includes and some 2000-01-29 16:17:36 +00:00
pccard Propagate MAC address in CIS tupple to dev/ed/ driver. 2000-01-21 03:08:46 +00:00
pcf
pci Spell "pci_delete_resource" correctly. 2000-02-01 18:02:12 +00:00
pcic
pdq
ppbus Fix two warnings. 2000-02-13 03:03:31 +00:00
ppc Remove #include "ppc.h" and #if NPPC > 0 - this is always true as it is 2000-01-29 14:02:30 +00:00
rc Remove #if NFOO > 0 (it's not required in most cases) and also where it 2000-01-29 16:00:34 +00:00
rp
scd Remove #if NFOO > 0 (it's not required in most cases) and also where it 2000-01-29 16:00:34 +00:00
sf
si Always leave SP_DCEN on (monitor DCD). Otherwise the firmware *really* 2000-01-25 16:45:54 +00:00
sio "Completed" the previous fix. Return ENOMEM on memory allocation failure 2000-01-29 03:02:55 +00:00
sk
smbus
sn Don't execute MAC address initialization for non-pccard sn devices. 2000-01-22 17:24:16 +00:00
snp
sound Tidy up stray or bogus #if NFOO > 0 and #include "foo.h". 2000-01-29 18:48:30 +00:00
speaker Remove #if NFOO > 0 (it's not required in most cases) and also where it 2000-01-29 16:00:34 +00:00
sr Remove definition of the unimplemented "control" hook. 2000-01-21 01:39:40 +00:00
streams
sym Simplifications: 2000-02-13 12:14:07 +00:00
syscons - Don't reset text colors when changing the video mode. 2000-02-11 01:20:34 +00:00
ti Update the Tigon driver to use the 12.3.18 firmware release from Alteon. 2000-02-10 00:37:48 +00:00
tx
usb Correctly handle the conversion from virtual to physical addresses. The 2000-02-10 18:50:19 +00:00
vinum
vn
vr
vx Remove #if NVX > 0 and #if NEISA > 0 (and #include "eisa.h") as it's not 2000-01-29 14:50:32 +00:00
wi Add support for WEP (encryption) for silver and gold WaveLAN/IEEE turbo cards. 2000-02-02 17:59:13 +00:00
wl
xe Remove #if 0'ed reference to isa_device->id_alive 2000-01-23 18:21:20 +00:00