Re: PATCH: Different SCSI ordering for WIDE SCSI chains.

D. Lance Robinson (lancer@airways.com)
Mon, 30 Nov 1998 10:26:53 -0700


Rolf Fokkens wrote:
>... For backward compatibility you can connect non-wide
> devices on a wide-chain too, but their ID's range from 0 to 7.
> Furhermore I heard that non-wide take actually two ID's when connected
> on a WIDE chain: the configured ID and that ID+8. They can be addressed
> by their own ID, but the other ID is lost.
>
>... I changed the scanning order for wide scsi
> devices in the kernel. I changed it to:
> 0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15. This means that wide devices are
> always checked in pairs. Now I can use both ID 1 and 9 for my external
> wide devices and still connect an external non-wide devices.
>

When mixing narrow and wide devices you must only use the first eight
scsi ids. If you don't, scsi arbitration will not work correctly. The
scsi bus uses the data bits to arbitrate for the bus. A narrow device
does not see the upper eight arbitration bits and can fowl things up.
Your wide devices can still work in wide mode, but their addresses
should be set between 0 and 7 where the narrow devices can see them for
arbitration.

Other thoughts:
The Scsi arbitration priority is ordered as follows:
7,6,5,4,3,2,1,0,15,14,13,12,11,10,9,8, where 7 is granted the bus first.
This is one reason why many host adapter's id are set to 7. The other
reason is for a typical 0,1,... scan order. It might make sense to scan
from 7,6..0,15,14,..8 to make the more important devices first in the
device list.

<>< Lance.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/