kern/118193: [PATCH] ata(4) add support for IXP600 and IXP700 SATA
AHCI
Martin Matuska
mm at FreeBSD.org
Thu Nov 22 01:10:02 PST 2007
>Number: 118193
>Category: kern
>Synopsis: [PATCH] ata(4) add support for IXP600 and IXP700 SATA AHCI
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Thu Nov 22 09:10:01 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator: Martin Matuska
>Release: FreeBSD 7.0-BETA3 amd64
>Organization:
>Environment:
FreeBSD 7.0-BETA3 Wed Nov 21 23:44:30 CET 2007
>Description:
This patch adds AHCI support for IXP600 and IXP700 onboard SATA controllers.
Due to the latest changes in ata(4) this patch is now very small.
Tested on a IXP600 system. Please review.
>How-To-Repeat:
>Fix:
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
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list