Date: Sat, 5 Jan 2008 15:30:05 GMT From: "Frank W. Josellis" <frank@dynamical-systems.org> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/118447: [ata] Troublesome DMA modes with VIA Apollo VP Message-ID: <200801051530.m05FU5iN010521@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/118447; it has been noted by GNATS. From: "Frank W. Josellis" <frank@dynamical-systems.org> To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/118447: [ata] Troublesome DMA modes with VIA Apollo VP Date: Sat, 5 Jan 2008 16:28:41 +0100 (CET) ERRATUM: Meanwhile I learned that my southbridge "chip=0x05861106 rev=0x02" is just a VT82C586, without a trailing 'A'. There is indeed no such letter marked on the chip, and according to the web article [1] the A-chip is actually supposed to support UDMA: <quote> The 586 originally had no USB or Ultra DMA. VIA added these features with the 586A, and then ACPI with the 586B. The 586B is the same as an AMD-645 chip. </quote> Last but not least, the Linux kernel assigns the following revs to the various chips: rev 0x00 - 0x0f -> 82C586 rev 0x20 - 0x2f -> 82C586A rev 0x30 - 0x4f -> 82C586B Provided that this is correct, the below patch presumably solves the whole problem for FreeBSD. Frank Josellis References: [1] http://www.ds-computing.com/chipset.htm --- patch begins here --- --- ata-chipset.c.orig Wed Jun 1 16:39:01 2005 +++ ata-chipset.c Sat Jan 5 16:11:28 2008 @@ -2784,7 +2784,7 @@ struct ata_pci_controller *ctlr = device_get_softc(dev); struct ata_chip_id *idx; static struct ata_chip_id ids[] = - {{ ATA_VIA82C586, 0x02, VIA33, 0x00, ATA_UDMA2, "VIA 82C586B" }, + {{ ATA_VIA82C586, 0x20, VIA33, 0x00, ATA_UDMA2, "VIA 82C586A" }, { ATA_VIA82C586, 0x00, VIA33, 0x00, ATA_WDMA2, "VIA 82C586" }, { ATA_VIA82C596, 0x12, VIA66, VIACLK, ATA_UDMA4, "VIA 82C596B" }, { ATA_VIA82C596, 0x00, VIA33, 0x00, ATA_UDMA2, "VIA 82C596" }, --- patch ends here ---
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801051530.m05FU5iN010521>