• Bjorn Helgaas's avatar
    PCI: Configure *all* devices, not just hot-added ones · 1302fcf0
    Bjorn Helgaas authored
    There's not really a good way to determine whether firmware has already
    configured a device with _HPP/_HPX settings.  On legacy systems, the BIOS
    has probably configured everything, but on UEFI systems it is not required
    to do so.
    
    Per the PCI Firmware Specification, rev 3.1, sec 3.5, if PCI_COMMAND_IO or
    PCI_COMMAND_MEMORY is set, we can assume firmware has set the corresponding
    BARs and maybe we can assume it has configured the rest of the device.  And
    if a bridge has PCI_COMMAND_PARITY or PCI_COMMAND_SERR set, we can assume
    firmware has configured the bridge.  But we can't tell much about devices
    without BARs.
    
    I think it should be safe to apply _HPP and _HPX settings anyway, even if
    firmware has already configured the device, so configure everything we
    find.
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    Acked-by: default avatarYinghai Lu <yinghai@kernel.org>
    1302fcf0
probe.c 56.8 KB