diff options
author | Tejun Heo <tj@kernel.org> | 2010-06-03 05:57:04 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2010-06-07 16:03:10 -0400 |
commit | 4daedcfe8c6851aa01cc1997220f2577f4039c13 (patch) | |
tree | 5200735d13bb14343682e23c88c4d7525f0a73e6 | |
parent | b475a3b83a7709e16a734ef2b8ead4d50f885427 (diff) |
ahci: add pci quirk for JMB362
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>
Cc: stable@kernel.org
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
-rw-r--r-- | drivers/pci/quirks.c | 5 | ||||
-rw-r--r-- | include/linux/pci_ids.h | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index b7512cf08c58..477345d41641 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c | |||
@@ -1457,7 +1457,8 @@ static void quirk_jmicron_ata(struct pci_dev *pdev) | |||
1457 | conf5 &= ~(1 << 24); /* Clear bit 24 */ | 1457 | conf5 &= ~(1 << 24); /* Clear bit 24 */ |
1458 | 1458 | ||
1459 | switch (pdev->device) { | 1459 | switch (pdev->device) { |
1460 | case PCI_DEVICE_ID_JMICRON_JMB360: | 1460 | case PCI_DEVICE_ID_JMICRON_JMB360: /* SATA single port */ |
1461 | case PCI_DEVICE_ID_JMICRON_JMB362: /* SATA dual ports */ | ||
1461 | /* The controller should be in single function ahci mode */ | 1462 | /* The controller should be in single function ahci mode */ |
1462 | conf1 |= 0x0002A100; /* Set 8, 13, 15, 17 */ | 1463 | conf1 |= 0x0002A100; /* Set 8, 13, 15, 17 */ |
1463 | break; | 1464 | break; |
@@ -1493,12 +1494,14 @@ static void quirk_jmicron_ata(struct pci_dev *pdev) | |||
1493 | } | 1494 | } |
1494 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB360, quirk_jmicron_ata); | 1495 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB360, quirk_jmicron_ata); |
1495 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB361, quirk_jmicron_ata); | 1496 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB361, quirk_jmicron_ata); |
1497 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB362, quirk_jmicron_ata); | ||
1496 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB363, quirk_jmicron_ata); | 1498 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB363, quirk_jmicron_ata); |
1497 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB365, quirk_jmicron_ata); | 1499 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB365, quirk_jmicron_ata); |
1498 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB366, quirk_jmicron_ata); | 1500 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB366, quirk_jmicron_ata); |
1499 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB368, quirk_jmicron_ata); | 1501 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB368, quirk_jmicron_ata); |
1500 | DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB360, quirk_jmicron_ata); | 1502 | DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB360, quirk_jmicron_ata); |
1501 | DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB361, quirk_jmicron_ata); | 1503 | DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB361, quirk_jmicron_ata); |
1504 | DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB362, quirk_jmicron_ata); | ||
1502 | DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB363, quirk_jmicron_ata); | 1505 | DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB363, quirk_jmicron_ata); |
1503 | DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB365, quirk_jmicron_ata); | 1506 | DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB365, quirk_jmicron_ata); |
1504 | DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB366, quirk_jmicron_ata); | 1507 | DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB366, quirk_jmicron_ata); |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index f149dd10908b..4eb467910a45 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -2321,6 +2321,7 @@ | |||
2321 | #define PCI_VENDOR_ID_JMICRON 0x197B | 2321 | #define PCI_VENDOR_ID_JMICRON 0x197B |
2322 | #define PCI_DEVICE_ID_JMICRON_JMB360 0x2360 | 2322 | #define PCI_DEVICE_ID_JMICRON_JMB360 0x2360 |
2323 | #define PCI_DEVICE_ID_JMICRON_JMB361 0x2361 | 2323 | #define PCI_DEVICE_ID_JMICRON_JMB361 0x2361 |
2324 | #define PCI_DEVICE_ID_JMICRON_JMB362 0x2362 | ||
2324 | #define PCI_DEVICE_ID_JMICRON_JMB363 0x2363 | 2325 | #define PCI_DEVICE_ID_JMICRON_JMB363 0x2363 |
2325 | #define PCI_DEVICE_ID_JMICRON_JMB365 0x2365 | 2326 | #define PCI_DEVICE_ID_JMICRON_JMB365 0x2365 |
2326 | #define PCI_DEVICE_ID_JMICRON_JMB366 0x2366 | 2327 | #define PCI_DEVICE_ID_JMICRON_JMB366 0x2366 |