Updated ata(4) patch for SB600 and SB700

From: Martin Matuska <mm_at_FreeBSD.org>
Date: Thu, 22 Nov 2007 10:04:47 +0100
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.

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
_at__at_ -1345,7 +1345,9 _at__at_
      { 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)))
_at__at_ -1366,6 +1368,9 _at__at_
 {
     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
_at__at_ -104,7 +104,9 _at__at_
 #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
Received on Thu Nov 22 2007 - 08:04:47 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:22 UTC