Skip site navigation (1)Skip section navigation (2)
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>