diff options
Diffstat (limited to 'drivers/pci/quirks.c')
| -rw-r--r-- | drivers/pci/quirks.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 3a81d9d44019..202efa6f57c4 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c | |||
| @@ -91,6 +91,19 @@ static void __devinit quirk_resource_alignment(struct pci_dev *dev) | |||
| 91 | } | 91 | } |
| 92 | DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, quirk_resource_alignment); | 92 | DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, quirk_resource_alignment); |
| 93 | 93 | ||
| 94 | /* | ||
| 95 | * Decoding should be disabled for a PCI device during BAR sizing to avoid | ||
| 96 | * conflict. But doing so may cause problems on host bridge and perhaps other | ||
| 97 | * key system devices. For devices that need to have mmio decoding always-on, | ||
| 98 | * we need to set the dev->mmio_always_on bit. | ||
| 99 | */ | ||
| 100 | static void __devinit quirk_mmio_always_on(struct pci_dev *dev) | ||
| 101 | { | ||
| 102 | if ((dev->class >> 8) == PCI_CLASS_BRIDGE_HOST) | ||
| 103 | dev->mmio_always_on = 1; | ||
| 104 | } | ||
| 105 | DECLARE_PCI_FIXUP_EARLY(PCI_ANY_ID, PCI_ANY_ID, quirk_mmio_always_on); | ||
| 106 | |||
| 94 | /* The Mellanox Tavor device gives false positive parity errors | 107 | /* The Mellanox Tavor device gives false positive parity errors |
| 95 | * Mark this device with a broken_parity_status, to allow | 108 | * Mark this device with a broken_parity_status, to allow |
| 96 | * PCI scanning code to "skip" this now blacklisted device. | 109 | * PCI scanning code to "skip" this now blacklisted device. |
