2000-11-25 02:59:59

by Andre Hedrick

[permalink] [raw]
Subject: PIIX4 BX Errata for DMA errors.


Anyone having DMA errors that are dmaproc: error 14, there is not a clean
workaround yet. Also the Intel erratas state that only a bus reset will
clear the hang, but the details are loose.

Regards,

Andre Hedrick
CTO Timpanogas Research Group
EVP Linux Development, TRG
Linux ATA Development


2000-11-25 22:54:21

by Tuomas Heino

[permalink] [raw]
Subject: Re: PIIX4 BX Errata for DMA errors.

On Fri, 24 Nov 2000, Andre Hedrick wrote:

> Anyone having DMA errors that are dmaproc: error 14, there is not a clean
> workaround yet. Also the Intel erratas state that only a bus reset will
> clear the hang, but the details are loose.

We talking about errors like the following one? :

Nov 18 10:08:46 bx3 kernel: hdb: timeout waiting for DMA
Nov 18 10:08:46 bx3 kernel: ide_dmaproc: chipset supported ide_dma_timeout func only: 14
Nov 18 10:08:46 bx3 kernel: hdb: irq timeout: status=0xd0 { Busy }
Nov 18 10:08:46 bx3 kernel: hda: DMA disabled
Nov 18 10:08:46 bx3 kernel: hdb: DMA disabled
Nov 18 10:08:48 bx3 kernel: ide0: reset: success

If so, anyone happen to be able to help me figure out why that keeps
happening on hdb & hdd while it never happens on hda?

/dev/hda:

Model=IBM-DJNA-352500, FwRev=J51OA30K, SerialNo=GW0GWF37316
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=34
BuffType=DualPortCache, BuffSize=1966kB, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=49981680
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
DMA modes: mdma0 mdma1 mdma2 udma0 udma1 *udma2 udma3 udma4

/dev/hdb:

Model=IBM-DTTA-371440, FwRev=T71OA73A, SerialNo=WK0WKG29267
BuffType=DualPortCache, BuffSize=462kB, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=28229040
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
DMA modes: sdma0 sdma1 sdma2 mdma0 mdma1 mdma2 udma0 *udma1 udma2

/dev/hdd:

Model=IBM-DTTA-371440, FwRev=T71OA73A, SerialNo=WK0WKA28245
BuffType=DualPortCache, BuffSize=462kB, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=28229040
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
DMA modes: sdma0 sdma1 sdma2 mdma0 mdma1 mdma2 udma0 udma1 *udma2

Also is there a way to actually use /proc/ide/hd?/smart_* ?

# diff -u --recursive 19990822 20001125 | diffstat
hda/smart_values | 14 +++++++-------
hdb/smart_values | 12 ++++++------
hdd/smart_values | 10 +++++-----