OK, I've just rebooted with CONFIG_IDEDMA_AUTO not set. Same thing
happens; kernel prints "hde: timeout waiting for DMA" at boot time,
"hdparm /dev/hde" reports DMA on, and "dd if=/dev/hde of=/dev/null
count=1" takes about 20 sec to complete. (Hmmm: in previous builds,
the kernel would turn DMA off for me after that long DMA timeout delay.
It no longer does so. If I "hdparm -d0 /dev/hde", then there's no
long delay on read.)
> Afterwards, though, you can do hdparm -i /dev/hd*
cthulhu:~# hdparm -i /dev/hde
/dev/hde:
Model=ST380021A, FwRev=3.05, SerialNo=3HV03HSB
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=156301488
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
> and cat /proc/ide/via
OK, but the VIA controller is ide0 and ide1, which are unused -- nothing
is connected to either one. The only IDE device in the system right now
is the brand-new Seagate 80 GB ATA/100 drive at hde1 (on ide2, which is
controlled by the Promise chip). So here's the kernel's picture of both
the VIA and Promise controllers:
cthulhu:~# cat /proc/ide/via
----------VIA BusMastering IDE Configuration----------------
Driver Version: 3.23
South Bridge: VIA vt82c686a
Revision: ISA 0x22 IDE 0x10
Highest DMA rate: UDMA66
BM-DMA base: 0xd800
PCI clock: 33MHz
Master Read Cycle IRDY: 0ws
Master Write Cycle IRDY: 0ws
BM IDE Status Register Read Retry: yes
Max DRDY Pulse Width: No limit
-----------------------Primary IDE-------Secondary IDE------
Read DMA FIFO flush: yes yes
End Sector FIFO flush: no no
Prefetch Buffer: no no
Post Write Buffer: no no
Enabled: yes yes
Simplex only: no no
Cable Type: 40w 40w
-------------------drive0----drive1----drive2----drive3-----
Transfer Mode: PIO PIO PIO PIO
Address Setup: 120ns 120ns 120ns 120ns
Cmd Active: 480ns 480ns 480ns 480ns
Cmd Recovery: 480ns 480ns 480ns 480ns
Data Active: 330ns 330ns 330ns 330ns
Data Recovery: 270ns 270ns 270ns 270ns
Cycle Time: 600ns 600ns 600ns 600ns
Transfer Rate: 3.3MB/s 3.3MB/s 3.3MB/s 3.3MB/s
cthulhu:~# cat /proc/ide/pdc202xx
PDC20265 Chipset.
------------------------------- General Status ---------------------------------
Burst Mode : enabled
Host Mode : Normal
Bus Clocking : 33 PCI Internal
IO pad select : 10 mA
Status Polling Period : 0
Interrupt Check Status Polling Delay : 0
--------------- Primary Channel ---------------- Secondary Channel -------------
enabled enabled
66 Clocking enabled disabled
Mode PCI Mode PCI
FIFO Empty FIFO Empty
--------------- drive0 --------- drive1 -------- drive0 ---------- drive1 ------
DMA enabled: no yes no no
DMA Mode: UDMA 4 NOTSET NOTSET NOTSET
PIO Mode: PIO 4 NOTSET NOTSET NOTSET
> which will tell us interesting information, which may
> lead us further to solving the problem.
Well, I hope it means something to you!
> Btw, what clock and multiplier
> your CPU is?
800 MHz Athlon. Not sure what the multiplier is -- I don't mess with
that stuff.
Greg
-- Greg Ward - Unix bigot gward@python.net http://starship.python.net/~gward/ The world is coming to an end. Please log off. - 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/