|
@@ -2123,6 +2123,9 @@ static void __devinit quirk_disable_msi(struct pci_dev *dev)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8131_BRIDGE, quirk_disable_msi);
|
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8131_BRIDGE, quirk_disable_msi);
|
|
|
|
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x9602, quirk_disable_msi);
|
|
|
|
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ASUSTEK, 0x9602, quirk_disable_msi);
|
|
|
|
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AI, 0x9602, quirk_disable_msi);
|
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, 0xa238, quirk_disable_msi);
|
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, 0xa238, quirk_disable_msi);
|
|
|
|
|
|
/* Go through the list of Hypertransport capabilities and
|
|
/* Go through the list of Hypertransport capabilities and
|
|
@@ -2495,39 +2498,6 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4374,
|
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4375,
|
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4375,
|
|
quirk_msi_intx_disable_bug);
|
|
quirk_msi_intx_disable_bug);
|
|
|
|
|
|
-/*
|
|
|
|
- * MSI does not work with the AMD RS780/RS880 internal graphics and HDMI audio
|
|
|
|
- * devices unless the BIOS has initialized the nb_cntl.strap_msi_enable bit.
|
|
|
|
- */
|
|
|
|
-static void __init rs780_int_gfx_disable_msi(struct pci_dev *int_gfx_bridge)
|
|
|
|
-{
|
|
|
|
- u32 nb_cntl;
|
|
|
|
-
|
|
|
|
- if (!int_gfx_bridge->subordinate)
|
|
|
|
- return;
|
|
|
|
-
|
|
|
|
- pci_bus_write_config_dword(int_gfx_bridge->bus, PCI_DEVFN(0, 0),
|
|
|
|
- 0x60, 0);
|
|
|
|
- pci_bus_read_config_dword(int_gfx_bridge->bus, PCI_DEVFN(0, 0),
|
|
|
|
- 0x64, &nb_cntl);
|
|
|
|
-
|
|
|
|
- if (!(nb_cntl & BIT(10))) {
|
|
|
|
- dev_warn(&int_gfx_bridge->dev,
|
|
|
|
- FW_WARN "RS780: MSI for internal graphics disabled\n");
|
|
|
|
- int_gfx_bridge->subordinate->bus_flags |= PCI_BUS_FLAGS_NO_MSI;
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-#define PCI_DEVICE_ID_AMD_RS780_P2P_INT_GFX 0x9602
|
|
|
|
-
|
|
|
|
-DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD,
|
|
|
|
- PCI_DEVICE_ID_AMD_RS780_P2P_INT_GFX,
|
|
|
|
- rs780_int_gfx_disable_msi);
|
|
|
|
-/* wrong vendor ID on M4A785TD motherboard: */
|
|
|
|
-DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ASUSTEK,
|
|
|
|
- PCI_DEVICE_ID_AMD_RS780_P2P_INT_GFX,
|
|
|
|
- rs780_int_gfx_disable_msi);
|
|
|
|
-
|
|
|
|
#endif /* CONFIG_PCI_MSI */
|
|
#endif /* CONFIG_PCI_MSI */
|
|
|
|
|
|
#ifdef CONFIG_PCI_IOV
|
|
#ifdef CONFIG_PCI_IOV
|