[PATCH v1 0/3] PCI: Avoid touching non-compliant BARs

From: Bjorn Helgaas
Date: Fri Feb 26 2016 - 10:58:50 EST


Hi guys,

Here's a proposal for dealing with these devices that have non-BAR
registers where BARs are supposed to be. The idea is to:

- have an early quirk mark these devices,
- disable IO & MEM decoding so the devices don't consume address space
we don't know about, and
- skip BAR sizing (so the struct resources stay zeroed out)

This is basically a modification of what Andi originally proposed. The
difference here is that we never touch the BAR at all, and we don't have to
add any struct resource flags, so we don't have to worry about changing any
consumers of the struct resources.

Let me know what you think.

---

Bjorn Helgaas (3):
PCI: Disable IO/MEM decoding for devices with non-compliant BARs
x86/PCI: Mark Broadwell-EP Home Agent & PCU as having non-compliant BARs
PCI: Mark Broadcom Vulcan bridges as having non-compliant BARs


arch/x86/pci/fixup.c | 7 +++++++
drivers/pci/probe.c | 14 ++++++++++++++
drivers/pci/quirks.c | 14 ++++++++++++++
include/linux/pci.h | 1 +
4 files changed, 36 insertions(+)