• Bjorn Helgaas's avatar
    arm64: PCI: Exclude ACPI "consumer" resources from host bridge windows · 8fd4391e
    Bjorn Helgaas authored
    On x86 and ia64, we have treated all ACPI _CRS resources of PNP0A03 host
    bridge devices as "producers", i.e., as host bridge windows.  That's partly
    because some x86 BIOSes improperly used "consumer" descriptors to describe
    windows and partly because Linux didn't have good support for handling
    consumer and producer descriptors differently.
    
    One result is that x86 BIOSes describe host bridge "consumer" resources in
    the _CRS of a PNP0C02 device, not the PNP0A03 device itself.  On arm64 we
    don't have a legacy of firmware that has this consumer/producer confusion,
    so we can handle PNP0A03 "consumer" descriptors as host bridge registers
    instead of windows.
    
    Exclude non-window ("consumer") resources from the list of host bridge
    windows.  This allows the use of "consumer" PNP0A03 descriptors for bridge
    register space.
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    8fd4391e
pci.c 5.63 KB