diff options
Diffstat (limited to 'drivers/pci/quirks.c')
-rw-r--r-- | drivers/pci/quirks.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index e872ac925b4b..832175d9ca25 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c | |||
@@ -35,6 +35,20 @@ static void __devinit quirk_mellanox_tavor(struct pci_dev *dev) | |||
35 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_MELLANOX,PCI_DEVICE_ID_MELLANOX_TAVOR,quirk_mellanox_tavor); | 35 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_MELLANOX,PCI_DEVICE_ID_MELLANOX_TAVOR,quirk_mellanox_tavor); |
36 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_MELLANOX,PCI_DEVICE_ID_MELLANOX_TAVOR_BRIDGE,quirk_mellanox_tavor); | 36 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_MELLANOX,PCI_DEVICE_ID_MELLANOX_TAVOR_BRIDGE,quirk_mellanox_tavor); |
37 | 37 | ||
38 | /* Many VIA bridges seem to corrupt data for DAC. Disable it here */ | ||
39 | int forbid_dac __read_mostly; | ||
40 | EXPORT_SYMBOL(forbid_dac); | ||
41 | |||
42 | static __devinit void via_no_dac(struct pci_dev *dev) | ||
43 | { | ||
44 | if ((dev->class >> 8) == PCI_CLASS_BRIDGE_PCI && forbid_dac == 0) { | ||
45 | dev_info(&dev->dev, | ||
46 | "VIA PCI bridge detected. Disabling DAC.\n"); | ||
47 | forbid_dac = 1; | ||
48 | } | ||
49 | } | ||
50 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_ANY_ID, via_no_dac); | ||
51 | |||
38 | /* Deal with broken BIOS'es that neglect to enable passive release, | 52 | /* Deal with broken BIOS'es that neglect to enable passive release, |
39 | which can cause problems in combination with the 82441FX/PPro MTRRs */ | 53 | which can cause problems in combination with the 82441FX/PPro MTRRs */ |
40 | static void quirk_passive_release(struct pci_dev *dev) | 54 | static void quirk_passive_release(struct pci_dev *dev) |