Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Feb 2009 10:20:48 -0800
From:      George Hartzell <hartzell@alerce.com>
To:        freebsd-current@freebsd.org
Subject:   help generating good id string for ATA id fix (Via VB8001)
Message-ID:  <18845.41728.753753.864779@almost.alerce.com>

next in thread | raw e-mail | index | archive | help

I have a Via VB8001 running -CURRENT.  The disk controllers aren't
recognized and end up running in UDMA33.

The following patches to things under /usr/src/sys/dev/ata recognize
my drives as SATA300.

I don't know how to figure out what id strings to use though,
everything I've found about the board claims that the chip is a 8237S,
which is already used.  Clearly calling it the GH is a hack.

How can I track down the correct info so that I can submit a useful
PR?

I've tacked the machine's pciconf -lv output onto the end in case it's
useful.

Thanks.

--- ata-pci.h	2009/02/16 18:06:53	1.1
+++ ata-pci.h	2009/02/19 10:12:36
@@ -390,6 +390,7 @@
 #define ATA_VIA8237             0x32271106
 #define ATA_VIA8237A            0x05911106
 #define ATA_VIA8237S		0x53371106
+#define ATA_VIA8237GH		0x53721106
 #define ATA_VIA8251             0x33491106
 #define ATA_VIA8361             0x31121106
 #define ATA_VIA8363             0x03051106


--- chipsets/ata-via.c	2009/02/16 18:10:45	1.1
+++ chipsets/ata-via.c	2009/02/16 18:12:02
@@ -94,6 +94,7 @@
      { ATA_VIA8237,   0x00, VIA133, 0x00,    ATA_UDMA6, "8237" },
      { ATA_VIA8237A,  0x00, VIA133, 0x00,    ATA_UDMA6, "8237A" },
      { ATA_VIA8237S,  0x00, VIA133, 0x00,    ATA_UDMA6, "8237S" },
+     { ATA_VIA8237GH, 0x00, VIA133, 0x00,    ATA_UDMA6, "8237GH" },
      { ATA_VIA8251,   0x00, VIA133, 0x00,    ATA_UDMA6, "8251" },
      { 0, 0, 0, 0, 0, 0 }};
     static struct ata_chip_id new_ids[] =
@@ -102,6 +103,7 @@
      { ATA_VIA6421,   0x00, 6,      VIABAR,  ATA_SA150, "6421" },
      { ATA_VIA8237A,  0x00, 7,      0x00,    ATA_SA150, "8237A" },
      { ATA_VIA8237S,  0x00, 7,      0x00,    ATA_SA150, "8237S" },
+     { ATA_VIA8237GH, 0x00, 7,      0x00,    ATA_SA300, "8237GH" },
      { ATA_VIA8251,   0x00, 0,      VIAAHCI, ATA_SA300, "8251" },
      { 0, 0, 0, 0, 0, 0 }};
 
=== pciconf -lv output ================================================

hostb0@pci0:0:0:0:	class=0x060000 card=0xaa111106 chip=0x03641106 rev=0x00 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    device     = 'P4M900 Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb1@pci0:0:0:1:	class=0x060000 card=0x00000000 chip=0x13641106 rev=0x00 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    device     = 'P4M900 Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb2@pci0:0:0:2:	class=0x060000 card=0x00000000 chip=0x23641106 rev=0x00 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    device     = 'P4M900 Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb3@pci0:0:0:3:	class=0x060000 card=0x00000000 chip=0x33641106 rev=0x00 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    device     = 'P4M900 Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb4@pci0:0:0:4:	class=0x060000 card=0x00000000 chip=0x43641106 rev=0x00 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    device     = 'P4M900 Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
ioapic0@pci0:0:0:5:	class=0x080020 card=0x00000000 chip=0x53641106 rev=0x00 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    device     = 'P4M900 I/O APIC Interrupt Controller'
    class      = base peripheral
    subclass   = interrupt controller
hostb5@pci0:0:0:6:	class=0x060000 card=0x00000000 chip=0x63641106 rev=0x00 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    device     = 'P4M900 Security Device'
    class      = bridge
    subclass   = HOST-PCI
hostb6@pci0:0:0:7:	class=0x060000 card=0x00000000 chip=0x73641106 rev=0x00 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    device     = 'P4M900 Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
pcib1@pci0:0:1:0:	class=0x060400 card=0x00000000 chip=0xb1981106 rev=0x00 hdr=0x01
    vendor     = 'VIA Technologies Inc'
    device     = 'ProSavageDDR P4X600,Apollo KT400/A/600 CPU to AGP Bridge'
    class      = bridge
    subclass   = PCI-PCI
pcib2@pci0:0:2:0:	class=0x060400 card=0xc3231106 chip=0xa3641106 rev=0x80 hdr=0x01
    vendor     = 'VIA Technologies Inc'
    device     = 'P4M900 PCI to PCI Bridge Controller'
    class      = bridge
    subclass   = PCI-PCI
pcib3@pci0:0:3:0:	class=0x060400 card=0xc3231106 chip=0xc3641106 rev=0x80 hdr=0x01
    vendor     = 'VIA Technologies Inc'
    device     = 'P4M900 PCI to PCI Bridge Controller'
    class      = bridge
    subclass   = PCI-PCI
atapci0@pci0:0:15:0:	class=0x01018f card=0x53721106 chip=0x53721106 rev=0x00 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    class      = mass storage
    subclass   = ATA
atapci1@pci0:0:15:1:	class=0x01018a card=0x05711106 chip=0x05711106 rev=0x07 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    device     = 'VT82C586A/B/VT82C686/A/B/VT823x/A/C Bus Master IDE Controller'
    class      = mass storage
    subclass   = ATA
uhci0@pci0:0:16:0:	class=0x0c0300 card=0x30381106 chip=0x30381106 rev=0xb0 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    device     = 'VT83C572, VT6202 VIA Rev 5 or later USB Universal Host Controller'
    class      = serial bus
    subclass   = USB
uhci1@pci0:0:16:1:	class=0x0c0300 card=0x30381106 chip=0x30381106 rev=0xb0 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    device     = 'VT83C572, VT6202 VIA Rev 5 or later USB Universal Host Controller'
    class      = serial bus
    subclass   = USB
uhci2@pci0:0:16:2:	class=0x0c0300 card=0x30381106 chip=0x30381106 rev=0xb0 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    device     = 'VT83C572, VT6202 VIA Rev 5 or later USB Universal Host Controller'
    class      = serial bus
    subclass   = USB
uhci3@pci0:0:16:3:	class=0x0c0300 card=0x30381106 chip=0x30381106 rev=0xb0 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    device     = 'VT83C572, VT6202 VIA Rev 5 or later USB Universal Host Controller'
    class      = serial bus
    subclass   = USB
ehci0@pci0:0:16:4:	class=0x0c0320 card=0x31041106 chip=0x31041106 rev=0x90 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    device     = 'VT6202/12 USB 2.0 Enhanced Host Controller'
    class      = serial bus
    subclass   = USB
isab0@pci0:0:17:0:	class=0x060100 card=0xaa111106 chip=0x33721106 rev=0x00 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    class      = bridge
    subclass   = PCI-ISA
hostb7@pci0:0:17:7:	class=0x060000 card=0x337e1106 chip=0x287e1106 rev=0x00 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    device     = 'VT8251 Ultra VLINK Controller'
    class      = bridge
    subclass   = HOST-PCI
hostb8@pci0:0:19:0:	class=0x060000 card=0x00000000 chip=0x337b1106 rev=0x00 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    device     = 'VT8237A Standard PCI to PCIe Bridge'
    class      = bridge
    subclass   = HOST-PCI
pcib4@pci0:0:19:1:	class=0x060401 card=0x337a1106 chip=0x337a1106 rev=0x00 hdr=0x01
    vendor     = 'VIA Technologies Inc'
    device     = 'VT8237A Standard PCI to PCI Bridge'
    class      = bridge
    subclass   = PCI-PCI
vgapci0@pci0:1:0:0:	class=0x030000 card=0x33711106 chip=0x33711106 rev=0x01 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    class      = display
    subclass   = VGA
vge0@pci0:3:0:0:	class=0x020000 card=0x01101106 chip=0x31191106 rev=0x82 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    device     = 'VT6120/VT6121/VT6122 'Velocity' Gigabit Ethernet Controllers'
    class      = network
    subclass   = ethernet
none0@pci0:128:1:0:	class=0x040300 card=0x32881106 chip=0x32881106 rev=0x10 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    device     = '??? VIA VT8251/8237A High Definition Audio Controller - HDA Codec Realtek ALC660'
    class      = multimedia
    subclass   = HDA



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?18845.41728.753753.864779>