From owner-freebsd-bugs@FreeBSD.ORG Thu Nov 22 09:10:02 2007 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1487E16A477 for ; Thu, 22 Nov 2007 09:10:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id EE53E13C4DD for ; Thu, 22 Nov 2007 09:10:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.1/8.14.1) with ESMTP id lAM9A1O3049587 for ; Thu, 22 Nov 2007 09:10:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.1/8.14.1/Submit) id lAM9A1Do049586; Thu, 22 Nov 2007 09:10:01 GMT (envelope-from gnats) Resent-Date: Thu, 22 Nov 2007 09:10:01 GMT Resent-Message-Id: <200711220910.lAM9A1Do049586@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Martin Matuska Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B071116A46D for ; Thu, 22 Nov 2007 09:02:55 +0000 (UTC) (envelope-from mm@mail.vx.sk) Received: from mail.vx.sk (neo.vx.sk [213.239.219.9]) by mx1.freebsd.org (Postfix) with ESMTP id 3768713C4EE for ; Thu, 22 Nov 2007 09:02:19 +0000 (UTC) (envelope-from mm@mail.vx.sk) Received: from localhost (localhost [127.0.0.1]) by mail.vx.sk (Postfix) with ESMTP id 1618139872 for ; Thu, 22 Nov 2007 01:02:42 +0100 (CET) Received: from mail.vx.sk ([127.0.0.1]) by localhost (mail.vx.sk [127.0.0.1]) (amavisd-new, port 10024) with LMTP id uK1ckU3YyWU4 for ; Thu, 22 Nov 2007 01:02:39 +0100 (CET) Received: by mail.vx.sk (Postfix, from userid 1001) id 2BBD639876; Thu, 22 Nov 2007 01:02:39 +0100 (CET) Message-Id: <20071122000239.2BBD639876@mail.vx.sk> Date: Thu, 22 Nov 2007 01:02:39 +0100 (CET) From: Martin Matuska To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: kern/118193: [PATCH] ata(4) add support for IXP600 and IXP700 SATA AHCI X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Nov 2007 09:10:02 -0000 >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: