| From 4daedcfe8c6851aa01cc1997220f2577f4039c13 Mon Sep 17 00:00:00 2001 |
| From: Tejun Heo <tj@kernel.org> |
| Date: Thu, 3 Jun 2010 11:57:04 +0200 |
| Subject: ahci: add pci quirk for JMB362 |
| |
| From: Tejun Heo <tj@kernel.org> |
| |
| commit 4daedcfe8c6851aa01cc1997220f2577f4039c13 upstream. |
| |
| JMB362 is a new variant of jmicron controller which is similar to |
| JMB360 but has two SATA ports instead of one. As there is no PATA |
| port, single function AHCI mode can be used as in JMB360. Add pci |
| quirk for JMB362. |
| |
| Signed-off-by: Tejun Heo <tj@kernel.org> |
| Reported-by: Aries Lee <arieslee@jmicron.com> |
| Signed-off-by: Jeff Garzik <jgarzik@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/pci/quirks.c | 5 ++++- |
| include/linux/pci_ids.h | 1 + |
| 2 files changed, 5 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/pci/quirks.c |
| +++ b/drivers/pci/quirks.c |
| @@ -1444,7 +1444,8 @@ static void quirk_jmicron_ata(struct pci |
| conf5 &= ~(1 << 24); /* Clear bit 24 */ |
| |
| switch (pdev->device) { |
| - case PCI_DEVICE_ID_JMICRON_JMB360: |
| + case PCI_DEVICE_ID_JMICRON_JMB360: /* SATA single port */ |
| + case PCI_DEVICE_ID_JMICRON_JMB362: /* SATA dual ports */ |
| /* The controller should be in single function ahci mode */ |
| conf1 |= 0x0002A100; /* Set 8, 13, 15, 17 */ |
| break; |
| @@ -1480,12 +1481,14 @@ static void quirk_jmicron_ata(struct pci |
| } |
| DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB360, quirk_jmicron_ata); |
| DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB361, quirk_jmicron_ata); |
| +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB362, quirk_jmicron_ata); |
| DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB363, quirk_jmicron_ata); |
| DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB365, quirk_jmicron_ata); |
| DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB366, quirk_jmicron_ata); |
| DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB368, quirk_jmicron_ata); |
| DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB360, quirk_jmicron_ata); |
| DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB361, quirk_jmicron_ata); |
| +DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB362, quirk_jmicron_ata); |
| DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB363, quirk_jmicron_ata); |
| DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB365, quirk_jmicron_ata); |
| DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB366, quirk_jmicron_ata); |
| --- a/include/linux/pci_ids.h |
| +++ b/include/linux/pci_ids.h |
| @@ -2317,6 +2317,7 @@ |
| #define PCI_VENDOR_ID_JMICRON 0x197B |
| #define PCI_DEVICE_ID_JMICRON_JMB360 0x2360 |
| #define PCI_DEVICE_ID_JMICRON_JMB361 0x2361 |
| +#define PCI_DEVICE_ID_JMICRON_JMB362 0x2362 |
| #define PCI_DEVICE_ID_JMICRON_JMB363 0x2363 |
| #define PCI_DEVICE_ID_JMICRON_JMB365 0x2365 |
| #define PCI_DEVICE_ID_JMICRON_JMB366 0x2366 |