Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Nov 2007 10:04:47 +0100
From:      Martin Matuska <mm@FreeBSD.org>
To:        freebsd-current@FreeBSD.org
Subject:   Updated ata(4) patch for SB600 and SB700
Message-ID:  <4745462F.7090506@FreeBSD.org>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------030101000705020600060409
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 7bit

An updated patch against recent changes in ata(4) for users with IXP600
and IXP700 chipsets is attached.
The patch enables SATA300 (via AHCI) e.g on mainboards with AMD690G
chipsets.

Patch applies against recent -CURRENT, 7-STABLE and 6-STABLE.

ata(4) commiters please review, others please report any issues here.

I have submitted a PR as well, but the mail server seems to have
problems right now.

--------------030101000705020600060409
Content-Type: text/plain;
 name="ata.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="ata.diff"

Index: src/sys/dev/ata/ata-chipset.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-chipset.c,v
retrieving revision 1.207
diff -a -u -r1.207 ata-chipset.c
--- src/sys/dev/ata/ata-chipset.c	20 Nov 2007 04:52:19 -0000	1.207
+++ src/sys/dev/ata/ata-chipset.c	22 Nov 2007 00:01:14 -0000
@@ -1345,7 +1345,9 @@
      { ATA_ATI_IXP400_S1, 0x00, SIIMEMIO, 0, ATA_SA150, "IXP400" },
      { ATA_ATI_IXP400_S2, 0x00, SIIMEMIO, 0, ATA_SA150, "IXP400" },
      { ATA_ATI_IXP600,    0x00, 0,        0, ATA_UDMA6, "IXP600" },
+     { ATA_ATI_IXP600_S1, 0x00, 0,     AHCI, ATA_SA300, "IXP600" },
      { ATA_ATI_IXP700,    0x00, 0,        0, ATA_UDMA6, "IXP700" },
+     { ATA_ATI_IXP700_S1, 0x00, 0,     AHCI, ATA_SA300, "IXP700" },
      { 0, 0, 0, 0, 0, 0}};
 
     if (!(ctlr->chip = ata_match_chip(dev, ids)))
@@ -1366,6 +1368,9 @@
 {
     struct ata_pci_controller *ctlr = device_get_softc(dev);
 
+    if ((ctlr->chip->cfg2 == AHCI) && ata_ahci_chipinit(dev) != ENXIO)
+	return 0;
+
     if (ata_setup_interrupt(dev))
 	return ENXIO;
 
Index: src/sys/dev/ata/ata-pci.h
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-pci.h,v
retrieving revision 1.82
diff -a -u -r1.82 ata-pci.h
--- src/sys/dev/ata/ata-pci.h	18 Nov 2007 14:44:52 -0000	1.82
+++ src/sys/dev/ata/ata-pci.h	22 Nov 2007 00:01:14 -0000
@@ -104,7 +104,9 @@
 #define ATA_ATI_IXP400_S1       0x43791002
 #define ATA_ATI_IXP400_S2       0x437a1002
 #define ATA_ATI_IXP600          0x438c1002
+#define ATA_ATI_IXP600_S1       0x43801002
 #define ATA_ATI_IXP700          0x439c1002
+#define ATA_ATI_IXP700_S1       0x43901002
 
 #define ATA_CENATEK_ID          0x16ca
 #define ATA_CENATEK_ROCKET      0x000116ca

--------------030101000705020600060409--



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