(U)DMA failed on VIA chipset

From: Jean-Luc Coulon (jean-luc.coulon@fnac.net)
Date: Wed Jan 12 2000 - 12:19:55 EST


Hi,

This problem is not related to a specific kernel (it exists as well on 2.2.14
and on 2.3.39).

Motherboard data :
==================

Here are parts of my motherbord manual :

Motherboard name is VIB804DS from "PC PARTNER LIMITED".

Chip Set
--------
- VIA« APOLLO VPX.

BIOS

----
- 1MB Flash EPROM (Support PnP, APM, ATAPI & Windows« 95).
- IDE AUTO LBA Mode Supports HDDs up to 8.4GB.
- Anti-Virus Protection.

On Board I/O ------------ - Support two PCI Enhanced IDEs PIO Mode 3, Mode 4 and "Ultra DMA 33" Mode HDDs My configuration : ==================

<*> Include IDE/ATA-2 DISK support [*] Use multi-mode by default

...

[*] Generic PCI IDE chipset support [*] Generic PCI bus-master DMA support [*] Use PCI DMA by default when available

...

[*] VIA82CXXX chipset support (EXPERIMENTAL)

"cat /proc/pci" reports : ========================= PCI devices found: Bus 0, device 0, function 0: Host bridge: VIA Technologies, Inc. VT82C585VP [Apollo VP1/VPX] (rev 35). Master Capable. Latency=32. Bus 0, device 7, function 0: ISA bridge: VIA Technologies, Inc. VT82C586/A/B PCI-to-ISA [Apollo VP] (rev 39). Bus 0, device 7, function 1: IDE interface: VIA Technologies, Inc. VT82C586 IDE [Apollo] (rev 6). Master Capable. Latency=32. I/O at 0x6000 [0x600f]. Bus 0, device 13, function 0: VGA compatible controller: S3 Inc. 86c868 [Vision 868 VRAM] vers 0 (rev 0). IRQ 11. Non-prefetchable 32 bit memory at 0x10000000 [0x13ffffff].

----------------------------- Now, *THE* problem : when try to enable DMA on every channel, I get the following : -----------------------------

[root@f5ibh] ~ # hdparm -d1 /dev/hda [root@f5ibh] ~ # hda: dma_intr: status=0x51 { DriveReady SeekComplete Error } hda: dma_intr: error=0x84 { DriveStatusError BadCRC } hda: dma_intr: status=0x51 { DriveReady SeekComplete Error } hda: dma_intr: error=0x84 { DriveStatusError BadCRC } hda: dma_intr: status=0x51 { DriveReady SeekComplete Error } hda: dma_intr: error=0x84 { DriveStatusError BadCRC } hda: dma_intr: status=0x51 { DriveReady SeekComplete Error } hda: dma_intr: error=0x84 { DriveStatusError BadCRC } hda: DMA disabled

[root@f5ibh] ~ # ide0: reset: success

.. or even worse : I get sometime the system frozen with the disk activity led on.

I get that on both disk : the first one is a Maxtor 90871U2, 8.4Gb, the second is a ST3491A, 400Mb.

At boot time, the kernel reports the following : ================================================ Uniform Multi-Platform E-IDE driver Revision: 6.21 VP_IDE: IDE controller on PCI bus 00 dev 39 VP_IDE: not 100% native mode: will probe irqs later VT 82C585 Apollo VP1/VPX Chipset Core ATA-33 Split FIFO Configuration: 8 Primary buffers, threshold = 1/2 8 Second. buffers, threshold = 1/2 ide0: BM-DMA at 0x6000-0x6007, BIOS settings: hda:pio, hdb:pio ide0: VIA Bus-Master (U)DMA Timing Config Success ide1: BM-DMA at 0x6008-0x600f, BIOS settings: hdc:pio, hdd:pio ide1: VIA Bus-Master (U)DMA Timing Config Success hda: Maxtor 90871U2, ATA DISK drive hdc: ST3491A, ATA DISK drive hdd: CREATIVECD3621E, ATAPI CDROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 hda: Maxtor 90871U2, 8297MB w/512kB Cache, CHS=1057/255/63 hdc: ST3491A, 408MB w/120kB Cache, CHS=899/15/62

I was, some time ago, running the 400Mb disk on an Intel card with a Triton chipset, using the following kernel option :

[*] Intel PIIXn chipsets support

And the disk was running fine on the Inter Motherboard. So, I suppose the problem is related to the chipset and the driver used.

I can survive without DMA enabled on the disk. But I'd like to have it running. Is the problem related to the chipset ? Does the VIA driver support (U)DMA as it is "EXPERIMENTAL" ?

Thank you for having a look to my problem.

Regards

Jean-Luc

Thank you for the patch. multi-io works fine now. As you sign : 'IDE guy', I would ask you for a DMA problem. I'm sure _the_ IDE guy can help me ;-)

Motherboard data : ==================

Here are parts of my motherbord manual :

Motherboard name is VIB804DS from "PC PARTNER LIMITED".

Chip Set -------- - VIA« APOLLO VPX.

BIOS

----
- 1MB Flash EPROM (Support PnP, APM, ATAPI & Windows« 95).
- IDE AUTO LBA Mode Supports HDDs up to 8.4GB.
- Anti-Virus Protection.
		  
On Board I/O
------------
- Support two PCI Enhanced IDEs PIO Mode 3, Mode 4 and "Ultra DMA 33" Mode HDDs
	
		       
My configuration :
==================

<*> Include IDE/ATA-2 DISK support [*] Use multi-mode by default

...

[*] Generic PCI IDE chipset support [*] Generic PCI bus-master DMA support [*] Use PCI DMA by default when available

...

[*] VIA82CXXX chipset support (EXPERIMENTAL)

"cat /proc/pci" reports : ========================= PCI devices found: Bus 0, device 0, function 0: Host bridge: VIA Technologies, Inc. VT82C585VP [Apollo VP1/VPX] (rev 35). Master Capable. Latency=32. Bus 0, device 7, function 0: ISA bridge: VIA Technologies, Inc. VT82C586/A/B PCI-to-ISA [Apollo VP] (rev 39). Bus 0, device 7, function 1: IDE interface: VIA Technologies, Inc. VT82C586 IDE [Apollo] (rev 6). Master Capable. Latency=32. I/O at 0x6000 [0x600f]. Bus 0, device 13, function 0: VGA compatible controller: S3 Inc. 86c868 [Vision 868 VRAM] vers 0 (rev 0). IRQ 11. Non-prefetchable 32 bit memory at 0x10000000 [0x13ffffff].

----------------------------- Now, *THE* problem : when try to enable DMA on every channel, I get the following : -----------------------------

[root@f5ibh] ~ # hdparm -d1 /dev/hda [root@f5ibh] ~ # hda: dma_intr: status=0x51 { DriveReady SeekComplete Error } hda: dma_intr: error=0x84 { DriveStatusError BadCRC } hda: dma_intr: status=0x51 { DriveReady SeekComplete Error } hda: dma_intr: error=0x84 { DriveStatusError BadCRC } hda: dma_intr: status=0x51 { DriveReady SeekComplete Error } hda: dma_intr: error=0x84 { DriveStatusError BadCRC } hda: dma_intr: status=0x51 { DriveReady SeekComplete Error } hda: dma_intr: error=0x84 { DriveStatusError BadCRC } hda: DMA disabled

[root@f5ibh] ~ # ide0: reset: success

.. or even worse : I get sometime the system frozen with the disk activity led on.

I get that on both disk : the first one is a Maxtor 90871U2, 8.4Gb, the second is a ST3491A, 400Mb.

At boot time, the kernel reports the following : ================================================

chipset, ude0: BM-DMA at 0x6000-0x6007, BIOS settings: hda:pio, hdb:pio ide0: VIA Bus-Master (U)DMA Timing Config Success ide1: BM-DMA at 0x6008-0x600f, BIOS settings: hdc:pio, hdd:pio ide1: VIA Bus-Master (U)DMA Timing Config Success hda: Maxtor 90871U2, ATA DISK drive hdc: ST3491A, ATA DISK drive hdd: CREATIVECD3621E, ATAPI CDROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 hda: Maxtor 90871U2, 8297MB w/512kB Cache, CHS=1057/255/63 hdc: ST3491A, 408MB w/120kB Cache, CHS=899/15/62

I was, some time ago, running the 400Mb disk on an Intel card with a Triton chipset, using the following kernel option :

[*] Intel PIIXn chipsets support

And the disk was running fine on the Inter Motherboard.

I can survive without DMA enabled on the disk. But I'd like to have it running. Is the problem related to the chipset ? Does the driver support (U)DMA as it is "EXPERIMENTAL" ?

Thank you for having a look to my problem.

Regards

Jean-Luc

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



This archive was generated by hypermail 2b29 : Sat Jan 15 2000 - 21:00:20 EST