Re: [PATCH v3 49/77] ncr5380: Remove redundant ICR_ARBITRATION_LOST test and eliminate FLAG_DTC3181E

Hannes Reinecke
2015-12-22T07:45:16Z

On 12/22/2015 02:18 AM, Finn Thain wrote:
> Remove FLAG_DTC3181E. It was used to suppress a final Arbitration Lost
> (SEL asserted) test that isn't actually needed. The test was suppressed
> because it causes problems for DTC436 and DTC536 chips. It takes place
> after the host wins arbitration, so SEL has been asserted. These chips
> can't seem to tell whether it was the host or another bus device that
> did so.
>
> This questionable final test appears in a flow chart in an early NCR5380
> datasheet. It was removed from later documents like the DP5380 datasheet.
>
> By the time this final test takes place, the driver has already tested
> the Arbitration Lost bit several times. The first test happens 3 us after
> BUS FREE (or longer due to register access delays). The protocol requires
> that a device stop signalling within 1.8 us after BUS FREE unless it won
> arbitration, in which case it must assert SEL, which is detected 1.2 us
> later by the first Arbitration Lost test.
>
> Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
>
> ---
> drivers/scsi/NCR5380.c | 14 +-------------
> drivers/scsi/NCR5380.h | 1 -
> drivers/scsi/atari_NCR5380.c | 9 ---------
> drivers/scsi/dmx3191d.c | 2 +-
> drivers/scsi/g_NCR5380.c | 2 +-
> 5 files changed, 3 insertions(+), 25 deletions(-)
>
Reviewed-by: Hannes Reinecke <hare@suse.com>

Cheers,

Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)