From owner-freebsd-hackers@FreeBSD.ORG Wed Dec 3 09:52:36 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 02E8E16A4CE for ; Wed, 3 Dec 2003 09:52:36 -0800 (PST) Received: from dmlb.org (cpc2-cmbg4-6-0-cust36.cmbg.cable.ntl.com [81.96.76.36]) by mx1.FreeBSD.org (Postfix) with ESMTP id A1EAA43FD7 for ; Wed, 3 Dec 2003 09:52:34 -0800 (PST) (envelope-from dmlb@dmlb.org) Received: from orac.my.domain ([192.168.200.67] helo=orac) by dmlb.org with smtp (Exim 3.36 #1) id 1ARbAm-00071X-00; Wed, 03 Dec 2003 17:52:24 +0000 Message-ID: <015801c3b9c6$3724fd20$43c8a8c0@orac> From: "Duncan Barclay" To: "Soren Schmidt" References: <200312031130.hB3BUgmb058497@spider.deepcore.dk> Date: Wed, 3 Dec 2003 17:52:27 -0000 MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 8bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 cc: freebsd-hackers@FreeBSD.ORG Subject: Re: sata on -stable X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Dec 2003 17:52:36 -0000 Thanks Soren, this seems to work. There is a load of chat about incorrect cable types, but the drives are nice and fast according to a simple dd if=/dev/zero bs=64k ... Duncan ----- Original Message ----- From: "Soren Schmidt" To: "Duncan Barclay" Cc: Sent: Wednesday, December 03, 2003 11:30 AM Subject: Re: sata on -stable It seems Duncan Barclay wrote: I had a spare minute earlier today, this should do the trick (and is part of a larger patch due soon), please test and let me know... Index: ata-dma.c =================================================================== RCS file: /home/ncvs/src/sys/dev/ata/ata-dma.c,v retrieving revision 1.35.2.35 diff -u -r1.35.2.35 ata-dma.c --- ata-dma.c 26 Oct 2003 18:34:23 -0000 1.35.2.35 +++ ata-dma.c 3 Dec 2003 10:28:07 -0000 @@ -506,6 +506,22 @@ } break; + case 0x31491106: /* VIA 8237 SATA part */ + if (udmamode) { + error = ata_command(atadev, ATA_C_SETFEATURES, 0, + ATA_UDMA + udmamode, + ATA_C_F_SETXFER, ATA_WAIT_READY); + if (bootverbose) + ata_prtdev(atadev, "%s setting UDMA%d on VIA chip\n", + (error) ? "failed" : "success", udmamode); + if (!error) { + ata_dmacreate(atadev, apiomode, ATA_UDMA + udmamode); + return; + } + } + /* we could set PIO mode timings, but we assume the BIOS did that */ + break; + case 0x01bc10de: /* nVIDIA nForce */ case 0x74411022: /* AMD 768 */ case 0x74111022: /* AMD 766 */ @@ -522,7 +538,8 @@ char *chip = "VIA"; if (ata_find_dev(parent, 0x31471106, 0) || /* 8233a */ - ata_find_dev(parent, 0x31771106, 0)) { /* 8235 */ + ata_find_dev(parent, 0x31771106, 0) || /* 8235 */ + ata_find_dev(parent, 0x31491106, 0)) { /* 8237 */ udmamode = imin(udmamode, 6); reg_val = via_modes[3]; } Index: ata-pci.c =================================================================== RCS file: /home/ncvs/src/sys/dev/ata/ata-pci.c,v retrieving revision 1.32.2.17 diff -u -r1.32.2.17 ata-pci.c --- ata-pci.c 22 Oct 2003 14:43:52 -0000 1.32.2.17 +++ ata-pci.c 3 Dec 2003 10:28:07 -0000 @@ -189,7 +189,12 @@ return "VIA 8233 ATA133 controller"; if (ata_find_dev(dev, 0x31771106, 0)) return "VIA 8235 ATA133 controller"; + if (ata_find_dev(dev, 0x31491106, 0)) + return "VIA 8237 ATA133 controller"; return "VIA Apollo ATA controller"; + + case 0x31491106: + return "VIA 8237 SATA150 controller"; case 0x55131039: if (ata_find_dev(dev, 0x06301039, 0x30) || -Søren .. but it works under windows!!