probe of the device and shouldn't affect normal operation. It seems that
some version of the aic7870 are extreamly slow in clearing their interrupt
register so the added delay is required to ensure we don't poll a stale
interrupt value.
Clean up debugging printfs and stuff superflous output into #ifdef AHC_DEBUG.
Ensure that sdtrpending and wdtrpending are cleared in all cases after
we recieve an SDTR or WDTR message.
With this commit, the 294x should work or at least be much closer to
working properly.
commands per target. I could have followed the route of the ncr driver
and gone to great lengths to get the SCSI subsystem to support more, but
I think I'll use the time saved to help Julian and Peter make tagged
queuing a better handled generic feature. This also includes some comment
and enum clean up and a possible fix for the hanging PCI controllers.
message instead of relying on the fact that we are scheduled to send them.
The old method worked 99.9% of the time, but someone reported some periferals
that did MSG_REJECT at odd times (sometimes before we could send an SDTR
or WDTR) that we would construe as the response to an SDTR or WDTR message.
This also removes a possible race condition where after a bus reset (the
result of a command time out not during intial probe time), we might queue
two commands both requesting SDTR, WDTR or both.
WDTR, and message reject handlers so they don't need to exist in the
sequencer. All three of these cases are not on the critical path, so it
makes little sense to use up precious sequencer ram for them.
values for syncronous negotiation. The 284x series adaptors can now be
supported without the Bios being enabled. If you disable the Bios on the
274x series adaptors, all configuration parameters revert to the default
since there is no way to retrieve them.