diff options
Diffstat (limited to 'drivers/pci/quirks.c')
-rw-r--r-- | drivers/pci/quirks.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 27c0e6eb7136..b7512cf08c58 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c | |||
@@ -2127,6 +2127,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x9602, quirk_disable_msi); | |||
2127 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ASUSTEK, 0x9602, quirk_disable_msi); | 2127 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ASUSTEK, 0x9602, quirk_disable_msi); |
2128 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AI, 0x9602, quirk_disable_msi); | 2128 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AI, 0x9602, quirk_disable_msi); |
2129 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, 0xa238, quirk_disable_msi); | 2129 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, 0xa238, quirk_disable_msi); |
2130 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x5a3f, quirk_disable_msi); | ||
2130 | 2131 | ||
2131 | /* Go through the list of Hypertransport capabilities and | 2132 | /* Go through the list of Hypertransport capabilities and |
2132 | * return 1 if a HT MSI capability is found and enabled */ | 2133 | * return 1 if a HT MSI capability is found and enabled */ |
@@ -2218,15 +2219,16 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SERVERWORKS, | |||
2218 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8132_BRIDGE, | 2219 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8132_BRIDGE, |
2219 | ht_enable_msi_mapping); | 2220 | ht_enable_msi_mapping); |
2220 | 2221 | ||
2221 | /* The P5N32-SLI Premium motherboard from Asus has a problem with msi | 2222 | /* The P5N32-SLI motherboards from Asus have a problem with msi |
2222 | * for the MCP55 NIC. It is not yet determined whether the msi problem | 2223 | * for the MCP55 NIC. It is not yet determined whether the msi problem |
2223 | * also affects other devices. As for now, turn off msi for this device. | 2224 | * also affects other devices. As for now, turn off msi for this device. |
2224 | */ | 2225 | */ |
2225 | static void __devinit nvenet_msi_disable(struct pci_dev *dev) | 2226 | static void __devinit nvenet_msi_disable(struct pci_dev *dev) |
2226 | { | 2227 | { |
2227 | if (dmi_name_in_vendors("P5N32-SLI PREMIUM")) { | 2228 | if (dmi_name_in_vendors("P5N32-SLI PREMIUM") || |
2229 | dmi_name_in_vendors("P5N32-E SLI")) { | ||
2228 | dev_info(&dev->dev, | 2230 | dev_info(&dev->dev, |
2229 | "Disabling msi for MCP55 NIC on P5N32-SLI Premium\n"); | 2231 | "Disabling msi for MCP55 NIC on P5N32-SLI\n"); |
2230 | dev->no_msi = 1; | 2232 | dev->no_msi = 1; |
2231 | } | 2233 | } |
2232 | } | 2234 | } |
@@ -2552,6 +2554,19 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x1518, quirk_i82576_sriov); | |||
2552 | 2554 | ||
2553 | #endif /* CONFIG_PCI_IOV */ | 2555 | #endif /* CONFIG_PCI_IOV */ |
2554 | 2556 | ||
2557 | /* Allow manual resource allocation for PCI hotplug bridges | ||
2558 | * via pci=hpmemsize=nnM and pci=hpiosize=nnM parameters. For | ||
2559 | * some PCI-PCI hotplug bridges, like PLX 6254 (former HINT HB6), | ||
2560 | * kernel fails to allocate resources when hotplug device is | ||
2561 | * inserted and PCI bus is rescanned. | ||
2562 | */ | ||
2563 | static void __devinit quirk_hotplug_bridge(struct pci_dev *dev) | ||
2564 | { | ||
2565 | dev->is_hotplug_bridge = 1; | ||
2566 | } | ||
2567 | |||
2568 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_HINT, 0x0020, quirk_hotplug_bridge); | ||
2569 | |||
2555 | /* | 2570 | /* |
2556 | * This is a quirk for the Ricoh MMC controller found as a part of | 2571 | * This is a quirk for the Ricoh MMC controller found as a part of |
2557 | * some mulifunction chips. | 2572 | * some mulifunction chips. |