can't select EIDE dma transfer mode

Eric Delaunay (delaunay@lix.polytechnique.fr)
Fri, 14 Jun 1996 17:52:59 +0200 (MET DST)


Hello all,

I'm trying to set DMA transfer mode to my EIDE drive without success.

At boot time, I get this message:

hda: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
hda: disabled DMA
ide0: reset: success
hda: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
hda: disabled DMA
ide0: reset: success

I have no more success using hdparm (v2.9) to set it:

# hdparm -d1 -X34 /dev/hda

/dev/hda:
setting using_dma to 1 (on)
setting xfermode to 34 (multiword DMA mode2)
hda: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
hda: disabled DMA
ide0: reset: success
using_dma = 0 (on)

What's wrong ? hdparm says my disk is DMA capable :-(
PS: I get same behavior using my old kernel (1.3.74) or the new one (2.0.0).
Also, why transfers from PCI to interface card occur in 16 bits mode
(as hdparm -c /dev/hda says) and not in 32 bits mode by default ?

For infos:

linux-2.0.0
hdparm 2.9
P133 motherboard=ASUS P55TP4N

# dmesg
...
ide: 430FX (Triton) on PCI bus 0 function 57
ide0: BM-DMA at 0xe800-0xe807
ide0 timing: (0x8000) sample_CLKs=5, recovery_CLKs=4
master: fastDMA=off PreFetch=off IORDY=off fastPIO=off
slave : fastDMA=off PreFetch=off IORDY=off fastPIO=off
ide1: BM-DMA at 0xe808-0xe80f
ide1 timing: (0x8000) sample_CLKs=5, recovery_CLKs=4
master: fastDMA=off PreFetch=off IORDY=off fastPIO=off
slave : fastDMA=off PreFetch=off IORDY=off fastPIO=off
hda: Maxtor 71626 A, 1554MB w/64kB Cache, LBA, CHS=789/64/63, DMA
hdc: CD-ROM CDU77E, ATAPI CDROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
...

# hdparm -i /dev/hda

/dev/hda:

Model=Maxtor 71626 A, FwRev=QA3S1D20, SerialNo=K20KXB4S
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>5Mbs FmtGapReq }
RawCHS=3158/16/63, TrkSize=0, SectSize=0, ECCbytes=34
BuffType=3(DualPortCache), BuffSize=64kB, MaxMultSect=16, MultSect=off
DblWordIO=yes, maxPIO=2(fast), DMA=yes, maxDMA=1(medium)
CurCHS=3158/16/63, CurSects=3183264, LBA=yes, LBAsects=3184170
tDMA={min:120,rec:120}, DMA modes: sword0 sword1 *sword2 mword0 mword1 *mword2
IORDY=on/off, tPIO={min:180,w/IORDY:120}, PIO modes: mode3 mode4

# hdparm -c /dev/hda

/dev/hda:
I/O support = 0 (default 16-bit)

Thanks in advance

-- 
 Eric Delaunay                 | "La guerre justifie l'existence des militaires.
 delaunay@lix.polytechnique.fr | En les supprimant." Henri Jeanson (1900-1970)