[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1AF0FA078A5A3541A8A8019D26081C2E88DCE6D976@ptt-ex02.promise.com.tw>
Date: Mon, 24 Sep 2012 10:34:11 +0800
From: Tony Hung - PTT 洪瑞嶸
<tony.hung@...promise.com>
To: "linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: [PATCH] ahci: add a boot option to enable promise ahci
linux-3.2.0/drivers/ata/ahci.c: In function 'hptiop_host_request_callback':
Use min_t(size_t, ...) to fix.
Signed-off-by: Tony Hung <tony.hung@...promise.com>
---
diff --git a/linux-3.2.0/drivers/ata/ahci.c b/linux-3.2.0/drivers/ata/ahci.c
--- a/linux-3.2.0/drivers/ata/ahci.c 2012-08-29 13:40:26.046851693 +0800
+++ b/linux-3.2.0/drivers/ata/ahci.c 2012-08-30 17:23:10.207838960 +0800
@@ -430,6 +430,9 @@ static int marvell_enable = 1;
module_param(marvell_enable, int, 0644);
MODULE_PARM_DESC(marvell_enable, "Marvell SATA via AHCI (1 = enabled)");
+static int promise_enable;
+module_param(promise_enable, int, 0644);
+MODULE_PARM_DESC(promise_enable, "Promise SATA via AHCI (1 = enabled)");
static void ahci_pci_save_initial_config(struct pci_dev *pdev,
struct ahci_host_priv *hpriv)
@@ -1049,6 +1052,16 @@ static int ahci_init_one(struct pci_dev
if (pdev->vendor == PCI_VENDOR_ID_MARVELL && !marvell_enable)
return -ENODEV;
+ /*
+ * In RAID mode, Promise software RAID need to replace
+ * original AHCI module, but if AHCI driver build-in kernel,
+ * Promise AHCI module need a boot option to disable it
+ */
+ if (promise_enable &&
+ ((pdev->class >> 8) == PCI_CLASS_STORAGE_RAID) &&
+ (pdev->vendor == PCI_VENDOR_ID_ATI ||
+ pdev->vendor == PCI_VENDOR_ID_AMD))
+ return -ENODEV;
+
/*
* For some reason, MCP89 on MacBook 7,1 doesn't work with
* ahci, use ata_generic instead.
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists