No. It doesn't depend on the number of cables - the additional cables
are GND only. 32-bit CRCs are used even on 40 wire cables.
> So if the drive resorts to
> slower operation all will be fine. If it does not - well
> you see the above...
The driver cannot resort to a slower speed by itself - the kernel has to
tell it.
Also note than on UDMA we have two different speeds - for writing we set
it in the controller registers and for reading it's set on the drive by
a set_feature command.
In PIO and DMA modes everything is driven by the controller.
> Having two drives on a single cable canges the termination
> of the cable as well as other electrical properties significantly
> and apparently you are just out of luck with the above system.
It might not be the cable, but the drives - I'd try exchanging their
positions.
> What should really help is simple resort to slower operations
> int he case of the driver.
>
> It can of course be as well that the host chip driver is simply
> programming the channel for too aggressive values.
Depends whether it happens on reads or writes. For reads it'd be the
drive is too fast and the controller can't get the data (because the
data is damaged electrically or it just can't cope with the speed), for
writes it's the opposite.
> Hmm thinking again about it... It occurrs to me
> that actually there should be a mechanism which tells the
> host chip drivers whatever there are only just one or
> two drivers connected. I will have to look in to it.
There is no such mechanism (except for probing the drives). IDE has
quite nonsensical "split" termination - the termination resistors are
always present even on the middle device. This is to "simplify" things
...
-- Vojtech Pavlik SuSE Labs - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/