Date: Wed, 5 Dec 2007 14:43:03 +0100 (CET) From: "Frank W. Josellis" <frank@dynamical-systems.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: i386/118447: Troublesome DMA modes with VIA Apollo VP Message-ID: <200712051343.lB5Dh3lX001384@pollux.senax.net> Resent-Message-ID: <200712051350.lB5Do1ko097242@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 118447 >Category: i386 >Synopsis: Troublesome DMA modes with VIA Apollo VP >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-i386 >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Wed Dec 05 13:50:01 UTC 2007 >Closed-Date: >Last-Modified: >Originator: Frank W. Josellis >Release: FreeBSD 5.5-STABLE i386 >Organization: >Environment: System: FreeBSD pollux.senax.net 5.5-STABLE FreeBSD 5.5-STABLE #17: Wed Oct 31 16:22:23 CET 2007 root@pollux.senax.net:/usr/obj/usr/src/sys/POLLUX i386 >Description: Currently FreeBSD appears to have a problem distinguishing correctly between the various revisions of the VIA VT82C586 southbridge. The chip id table in src/sys/dev/ata/ata-chipset.c assigns rev=0x02 to the 82C586B, static struct ata_chip_id ids[] = {{ ATA_VIA82C586, 0x02, VIA33, 0x00, ATA_UDMA2, "82C586B" }, { ATA_VIA82C586, 0x00, VIA33, 0x00, ATA_WDMA2, "82C586" }, whereas rev=0x02 actually describes the 82C586A which, unfortunately, is not fully UDMA2 compliant. As a consequence, such a system with an Ultra DMA HDD attached fails to boot unless ATA DMA is disabled by the loader. By the way, rev=0x03 was correctly assigned to the 82C586B in FreeBSD 4. Thus WDMA2 seems to be a safe setting for the 82C586A. However, in contrast to the rev=0x00 chip it offers the possiblity to use a bus master IDE driver. I couldn't find any related technical documentation at via.com -- maybe it's gone -- but as my board is actually a FIC PA-2005, I got some information on this from the manufacturer: http://taiwan.fic.com.tw/support/motherboard/faq.aspx?type=udma#qid496 As a side remark, the bus master mode is also what the Linux kernel is using here, that's what I see from booting a Linux Live-CD for diagnostics. >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200712051343.lB5Dh3lX001384>