Re: UDMA is NFG on Ultra33 (CMD646 in disguise)

Mark Lord (mlord@pobox.com)
Wed, 25 Nov 1998 02:49:57 +0000


pmonta@halibut.imedia.com wrote:
..
> Do you also see problems with the normal, non-UDMA busmaster
> operation? If there is a PCI-controller bug for this chip,
> likely enough any busmaster mode would be bad.
>

Okay, here's the latest scoop:

UDMA2: corruption
UDMA1: not tried
UDMA0: no corruption
DMA2: no corruption (identical timings to UDMA0/PIO4)
PIO4: no corruption (identical timings to DMA2/UDMA0)

Looks like we could put together a kernel patch to auto-detect
the card, and automatically convert UDMA2 settings to UDMA0
to prevent data corruption.

Easy to do for the chipset, but the drive also needs to be told,
via "hdparm -X64".

PROBLEM: some drives require a reset (?) when changing UDMA modes.
Ugh.

Maybe for linux-2.1.xxx, we should just have the kernel auto-detect
the chipset, check for UDMA > 0, and not use DMA if the chipset is
programmed for UDMA > 0.

The user can then later correct this using /proc/ide/*/config and hdparm.

For linux-2.3.xxx, we can add significantly more functionality to
to the kernel to do all this automatically.

-- 
mlord@pobox.com

- 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/