Re: New IDE code and DMA failures

Denis Vlasenko (vda@port.imtp.ilyichevsk.odessa.ua)
Thu, 11 Apr 2002 16:44:29 -0200


On 11 April 2002 10:05, Martin Dalecki wrote:
> > Since you are working on IDE subsystem, I will be glad to
> > *retain* my flaky IDE setup and test future kernels
> > for correct operation in this failure mode.
> >
> > Please inform me whenever you want me to test your patches.
>
> Guessing from the symptoms I would rather suggest that:
>
> 1. Are you sure you have the support for your chipset properly
> enabled? It's allmost a must for DMA.

I am deadly sure. lspci:
00:00.0 Host bridge: Intel Corp. 440LX/EX - 82443LX/EX Host bridge (rev 03)
00:01.0 PCI bridge: Intel Corp. 440LX/EX - 82443LX/EX AGP bridge (rev 03)
00:04.0 ISA bridge: Intel Corp. 82371AB PIIX4 ISA (rev 01)
00:04.1 IDE interface: Intel Corp. 82371AB PIIX4 IDE (rev 01)
00:04.2 USB Controller: Intel Corp. 82371AB PIIX4 USB (rev 01)
00:04.3 Bridge: Intel Corp. 82371AB PIIX4 ACPI (rev 01)
00:06.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 24)
00:0a.0 VGA compatible controller: Matrox Graphics, Inc. MGA 2164W [Millennium II]
00:0c.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8029(AS)

/boot/2.4.7/config:
CONFIG_BLK_DEV_PIIX=y

> 2. Could you please report about the hardware you have. There are
> chipsets around there which are using theyr own transport layer
> implementations. host chip (aka south bridge) disk types and so on.

# hdparm -i /dev/hda
Model=Maxtor 51369U3, FwRev=DA620CQ0, SerialNo=EK3HAE61C
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
BuffType=3(DualPortCache), BuffSize=2048kB, MaxMultSect=16, MultSect=16
DblWordIO=no, maxPIO=2(fast), DMA=yes, maxDMA=0(slow)
CurCHS=17475/15/63, CurSects=16513875, LBA=yes
LBA CHS=512/511/63 Remapping, LBA=yes, LBAsects=26520480
tDMA={min:120,rec:120}, DMA modes: mword0 mword1 mword2
IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4
UDMA modes: mode0 mode1 *mode2

# hdparm -i /dev/hdc
Model=ST31277A, FwRev=0.75, SerialNo=VAE07701
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=2482/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=0(?), BuffSize=0kB, MaxMultSect=16, MultSect=16
DblWordIO=no, maxPIO=1(medium), DMA=yes, maxDMA=2(fast)
CurCHS=2482/16/63, CurSects=2501856, LBA=yes
LBA CHS=620/64/63 Remapping, LBA=yes, LBAsects=2501856
tDMA={min:120,rec:120}, DMA modes: mword0 mword1 *mword2
IORDY=on/off, tPIO={min:383,w/IORDY:120}, PIO modes: mode3 mode4

I have problems with hdc. hda is mostly unused, so maybe it is DMA errors
prone too but I have not seen that yet.

> 3. Some timeout values got increased to more generally used values (in esp.
> IBM microdrives advice about timeout values. Could you see whatever
> the data doesn't eventually go to the disk after georgeous
> amounts of time.

Erm.. my English comprehension fails here... do you say my disk
does not like bigger timeouts?

> 4. Could you try to set the DMA mode lower then it's set up
> per default by using hdparm and try whatever it helps?

Current params:

# hdparm /dev/hda /dev/hdc
/dev/hda:
multcount = 16 (on)
I/O support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
nowerr = 0 (off)
readonly = 0 (off)
BLKRAGET failed: Invalid argument
geometry = 1754/240/63, sectors = 26520480, start = 0

/dev/hdc:
multcount = 16 (on)
I/O support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
nowerr = 0 (off)
readonly = 0 (off)
BLKRAGET failed: Invalid argument
geometry = 620/64/63, sectors = 2501856, start = 0

I can't quite figure what MW/UDMA mode is active.

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