PROBLEM: (2.4.2x) IDE UDMA read hangs system hard (VIA 586a)

From: Touko Korpela (tkorpela@phnet.fi)
Date: Mon Jul 14 2003 - 14:46:00 EST


[1.] One line summary of the problem:

IDE UDMA read hangs system hard (VIA 586a)

[2.] Full description of the problem/report:

IDE UDMA transfer from Maxtor UDMA66 drive (MB is only UDMA33) hangs machine
hard. Funny thing is that writing with "dd if=/dev/zero of=/dev/hdb" don't
hang the system but reading from the drive does. Turning DMA off with hdparm
cures the problem but turns performance very slow.
I also tried putting Maxtor as secondary master and CDRW as slave, but same
hang happened.
Earlier this year I used without problem (DMA worked with both drives) same
motherboard and master drive but slave Maxtor was newer 40GB D540x UDMA133
model. Kernel was newest available 2.4.20(pre) at the time.

[3.] Keywords (i.e., modules, networking, kernel):

IDE, VIA, DMA, hang, Maxtor

[4.] Kernel version (from /proc/version):

Linux version 2.4.22-pre5 (root) (gcc version 3.3.1 20030626 (Debian
prerelease))
(same problem was with vanilla 2.4.21 kernel too)
(I also tried with GCC-3.2.3, same problem too)

[7.] Environment
[7.2.] Processor information (from /proc/cpuinfo):
processor : 0
vendor_id : AuthenticAMD
cpu family : 5
model : 7
model name : AMD-K6tm w/ multimedia extensions
stepping : 0
cpu MHz : 338.284
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr mce cx8 mmx
bogomips : 675.02

[7.3.] Module information (from /proc/modules):
nfs 65660 1 (autoclean)
parport_pc 21448 1 (autoclean)
lp 6272 0 (autoclean)
parport 23880 1 (autoclean) [parport_pc lp]
tulip 38304 1 (autoclean)
crc32 2848 0 (autoclean) [tulip]
ad1816 9316 0
sound 54728 0 [ad1816]
soundcore 3428 4 [sound]

[7.4.] Loaded driver and hardware information (/proc/ioports, /proc/iomem)
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
0213-0213 : isapnp read
02f8-02ff : serial(auto)
0376-0376 : ide1
0378-037a : parport0
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial(auto)
0530-053f : AD1816 Sound
0778-077a : parport0
0a79-0a79 : isapnp write
0cf8-0cff : PCI conf1
e000-e00f : VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC
Bus Master IDE
  e000-e007 : ide0
  e008-e00f : ide1
e800-e8ff : 3Dfx Interactive, Inc. Voodoo Banshee
ec00-ecff : Linksys Network Everywhere Fast Ethernet 10/100 model NC100
ec00-ecff : tulip

00000000-0009fbff : System RAM
0009fc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000f0000-000fffff : System ROM
00100000-03f7ffff : System RAM
  00100000-00254ec4 : Kernel code
  00254ec5-002a849f : Kernel data
d0000000-d1ffffff : 3Dfx Interactive, Inc. Voodoo Banshee
d2000000-d3ffffff : 3Dfx Interactive, Inc. Voodoo Banshee
d5000000-d50003ff : Linksys Network Everywhere Fast Ethernet 10/100 model
NC100
d5000000-d50003ff : tulip

[7.5.] PCI information ('lspci -vvv' as root)
00:00.0 Host bridge: VIA Technologies, Inc. VT82C585VP [Apollo VP1/VPX] (rev
23) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR+
        Latency: 64

00:07.0 ISA bridge: VIA Technologies, Inc. VT82C586/A/B PCI-to-ISA [Apollo
VP] (rev 27)
        Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0

00:07.1 IDE interface: VIA Technologies, Inc. VT82C586/B/686A/B PIPC Bus
Master IDE (rev 06) (prog-if 8a [Master SecP PriP])
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64
        Region 4: I/O ports at e000 [size=16]

00:08.0 VGA compatible controller: 3Dfx Interactive, Inc. Voodoo Banshee
(rev 03) (prog-if 00 [VGA])
        Subsystem: Guillemot Corporation: Unknown device 0001
        Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at d0000000 (32-bit, non-prefetchable) [size=32M]
        Region 1: Memory at d2000000 (32-bit, prefetchable) [size=32M]
        Region 2: I/O ports at e800 [size=256]
        Expansion ROM at <unassigned> [disabled] [size=32K]
        Capabilities: [60] Power Management version 1
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:09.0 Ethernet controller: Linksys Network Everywhere Fast Ethernet 10/100
model NC100 (rev 11)
        Subsystem: Accton Technology Corporation: Unknown device 1216
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (63750ns min, 63750ns max), cache line size 08
        Interrupt: pin A routed to IRQ 11
        Region 0: I/O ports at ec00 [size=256]
        Region 1: Memory at d5000000 (32-bit, non-prefetchable) [size=1K]
        Expansion ROM at <unassigned> [disabled] [size=128K]
        Capabilities: [c0] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

[7.7.] Other information that might be relevant to the problem
       (please look in /proc and include all information that you
       think to be relevant):

/proc/ide/via
----------VIA BusMastering IDE Configuration----------------
Driver Version: 3.37
South Bridge: VIA vt82c586a
Revision: ISA 0x27 IDE 0x6
Highest DMA rate: UDMA33
BM-DMA base: 0xe000
PCI clock: 33.3MHz
Master Read Cycle IRDY: 1ws
Master Write Cycle IRDY: 1ws
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: yes yes
Post Write Buffer: yes no
Enabled: yes yes
Simplex only: no no
Cable Type: 40w 40w
-------------------drive0----drive1----drive2----drive3-----
Transfer Mode: DMA PIO DMA DMA
Address Setup: 30ns 30ns 30ns 120ns
Cmd Active: 90ns 90ns 90ns 90ns
Cmd Recovery: 30ns 30ns 30ns 30ns
Data Active: 90ns 90ns 90ns 330ns
Data Recovery: 30ns 30ns 30ns 270ns
Cycle Time: 120ns 120ns 120ns 600ns
Transfer Rate: 16.6MB/s 16.6MB/s 16.6MB/s 3.3MB/s





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



This archive was generated by hypermail 2b29 : Tue Jul 15 2003 - 22:00:54 EST