From owner-freebsd-current@FreeBSD.ORG Thu Feb 19 18:20:49 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 27B581065670 for ; Thu, 19 Feb 2009 18:20:49 +0000 (UTC) (envelope-from hartzell@alerce.com) Received: from merlin.alerce.com (merlin.alerce.com [64.62.142.94]) by mx1.freebsd.org (Postfix) with ESMTP id 08F438FC1F for ; Thu, 19 Feb 2009 18:20:48 +0000 (UTC) (envelope-from hartzell@alerce.com) Received: from merlin.alerce.com (localhost [127.0.0.1]) by merlin.alerce.com (Postfix) with ESMTP id B0CCC33C62 for ; Thu, 19 Feb 2009 10:20:48 -0800 (PST) Received: from merlin.alerce.com (localhost [127.0.0.1]) by merlin.alerce.com (Postfix) with ESMTP id 73ED733C5B for ; Thu, 19 Feb 2009 10:20:48 -0800 (PST) From: George Hartzell MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <18845.41728.753753.864779@almost.alerce.com> Date: Thu, 19 Feb 2009 10:20:48 -0800 To: freebsd-current@freebsd.org X-Mailer: VM 8.0.12 under 22.1.50.1 (i386-apple-darwin8.11.1) X-Virus-Scanned: ClamAV using ClamSMTP X-Mailman-Approved-At: Thu, 19 Feb 2009 18:40:07 +0000 Subject: help generating good id string for ATA id fix (Via VB8001) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: hartzell@alerce.com List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Feb 2009 18:20:49 -0000 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