|
@@ -57,6 +57,7 @@ enum {
|
|
AHCI_PCI_BAR_STA2X11 = 0,
|
|
AHCI_PCI_BAR_STA2X11 = 0,
|
|
AHCI_PCI_BAR_CAVIUM = 0,
|
|
AHCI_PCI_BAR_CAVIUM = 0,
|
|
AHCI_PCI_BAR_ENMOTUS = 2,
|
|
AHCI_PCI_BAR_ENMOTUS = 2,
|
|
|
|
+ AHCI_PCI_BAR_CAVIUM_GEN5 = 4,
|
|
AHCI_PCI_BAR_STANDARD = 5,
|
|
AHCI_PCI_BAR_STANDARD = 5,
|
|
};
|
|
};
|
|
|
|
|
|
@@ -1567,8 +1568,12 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
ahci_pci_bar = AHCI_PCI_BAR_STA2X11;
|
|
ahci_pci_bar = AHCI_PCI_BAR_STA2X11;
|
|
else if (pdev->vendor == 0x1c44 && pdev->device == 0x8000)
|
|
else if (pdev->vendor == 0x1c44 && pdev->device == 0x8000)
|
|
ahci_pci_bar = AHCI_PCI_BAR_ENMOTUS;
|
|
ahci_pci_bar = AHCI_PCI_BAR_ENMOTUS;
|
|
- else if (pdev->vendor == 0x177d && pdev->device == 0xa01c)
|
|
|
|
- ahci_pci_bar = AHCI_PCI_BAR_CAVIUM;
|
|
|
|
|
|
+ else if (pdev->vendor == PCI_VENDOR_ID_CAVIUM) {
|
|
|
|
+ if (pdev->device == 0xa01c)
|
|
|
|
+ ahci_pci_bar = AHCI_PCI_BAR_CAVIUM;
|
|
|
|
+ if (pdev->device == 0xa084)
|
|
|
|
+ ahci_pci_bar = AHCI_PCI_BAR_CAVIUM_GEN5;
|
|
|
|
+ }
|
|
|
|
|
|
/* acquire resources */
|
|
/* acquire resources */
|
|
rc = pcim_enable_device(pdev);
|
|
rc = pcim_enable_device(pdev);
|