VT82C597 + Maxtor UDMA failures

From: Ryan Hayle (hackel@walkingfish.com)
Date: Wed Feb 07 2001 - 16:37:49 EST

I'm trying to troubleshoot a failure with my Maxtor hard drive that I have
experienced consistantly, even in the 2.2.x kernels (I'm now running
2.2.1-test10, .config is attached). It detects all of my drives fine:

block: queued sectors max/low 126786kB/95090kB, 384 slots per queue
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with
VP_IDE: IDE controller on PCI bus 00 dev 39
VP_IDE: chipset revision 6
VP_IDE: not 100% native mode: will probe irqs later
VP_IDE: VIA vt82c586b IDE UDMA33 controller on pci0:7.1
    ide0: BM-DMA at 0xe000-0xe007, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xe008-0xe00f, BIOS settings: hdc:DMA, hdd:DMA
hda: Maxtor 52049U4, ATA DISK drive
hdb: WDC AC31200F, ATA DISK drive
ide: Assuming 33MHz system bus speed for PIO modes; override with
hdc: Maxtor 90680D4, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: 40020624 sectors (20491 MB) w/2048KiB Cache, CHS=2491/255/63,
hdb: 2503872 sectors (1282 MB) w/64KiB Cache, CHS=621/64/63, DMA
hdc: 13281408 sectors (6800 MB) w/256KiB Cache, CHS=13176/16/63, UDMA(33)
hdd: ATAPI 40X CD-ROM drive, 128kB Cache, UDMA(33)

And then all the services load up, etc. Once I log in, though, either in
gdm or on the console, it will pause for around 10-15 seconds, and then
display this:

hdc: timeout waiting for DMA
ide_dmaproc: chipset supported ide_dma_timeout func only: 14
hdc: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
hdc: status timeout: status=0xd0 { Busy }
hdc: DMA disabled
hdd: DMA disabled
hdc: drive not ready for command
ide1: reset: success

(hdc is the problem, obviously) Once this occurs, the system appears to
run normally. I don't really care about hdd (cdrom), although I figure
they are probably related somehow.

Windows is able to use UDMA fine on this drive. Also note that this isn't
a UDMA66 drive, and I'm not trying to use it (most of the other posts
I've seen with similar problems were related to 66).

Drives on ide0 seem to run in udma mode just fine, also...

Here's /proc/ide/via:

----------VIA BusMastering IDE Configuration----------------
Driver Version: 2.1e
South Bridge: VIA vt82c586b rev 0x47
Command register: 0x7
Latency timer: 64
PCI clock: 33MHz
Master Read Cycle IRDY: 1ws
Master Write Cycle IRDY: 1ws
FIFO Output Data 1/2 Clock Advance: off
BM IDE Status Register Read Retry: on
Max DRDY Pulse Width: No limit
-----------------------Primary IDE-------Secondary IDE------
Read DMA FIFO flush: on on
End Sect. FIFO flush: on on
Prefetch Buffer: on on
Post Write Buffer: on on
FIFO size: 8 8
Threshold Prim.: 1/2 1/2
Bytes Per Sector: 512 512
Both channels togth: yes yes
BMDMA enabled: yes yes no no
Address Setup: 30ns 60ns 30ns 30ns
Active Pulse: 90ns 90ns 90ns 90ns
Recovery Time: 30ns 60ns 30ns 30ns
Cycle Time: 60ns 150ns 60ns 60ns
Transfer Rate: 33.0MB/s 13.2MB/s 33.0MB/s 33.0MB/s

What I don't understand is, the transfer mode still seems to be "UDMA",
but "BMDMA" is not enabled. Aren't they inter-dependant? One in the
same? I'm obviously no expert, so any help would be appreciated.

Thanks in advance,

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

This archive was generated by hypermail 2b29 : Wed Feb 07 2001 - 21:00:28 EST