7a35ada03e
- 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) |
||
---|---|---|
.. | ||
advansys | ||
aha | ||
ahb | ||
aic | ||
aic7xxx | ||
amd | ||
amr | ||
an | ||
ar | ||
ata | ||
atkbdc | ||
bktr | ||
buslogic | ||
cardbus | ||
ccd | ||
cs | ||
cy | ||
dc | ||
de | ||
dec | ||
dgb | ||
dpt | ||
ed | ||
eisa | ||
en | ||
ep | ||
ex | ||
fb | ||
fdc | ||
fe | ||
fxp | ||
hea | ||
hfa | ||
ic | ||
ida | ||
ie | ||
iicbus | ||
isp | ||
joy | ||
kbd | ||
lnc | ||
mc146818 | ||
mca | ||
mcd | ||
md | ||
mii | ||
mlx | ||
mse | ||
pccard | ||
pcf | ||
pci | ||
pcic | ||
pdq | ||
ppbus | ||
ppc | ||
rc | ||
rp | ||
scd | ||
sf | ||
si | ||
sio | ||
sk | ||
smbus | ||
sn | ||
snp | ||
sound | ||
speaker | ||
sr | ||
streams | ||
sym | ||
syscons | ||
ti | ||
tx | ||
usb | ||
vinum | ||
vn | ||
vr | ||
vx | ||
wi | ||
wl | ||
xe |