• Rafael J. Wysocki's avatar
    PCI: ACPI: PM: Power up devices in D3cold before scanning them · 62d52871
    Rafael J. Wysocki authored
    The initial configuration of ACPI power resources on some systems
    implies that some PCI devices on them are initially in D3cold.
    
    In some cases, especially for PCIe Root Ports, this is a "logical"
    D3cold, meaning that the configuration space of the device is
    accessible, but some of its functionality may be missing, but it
    very well may be real D3cold, in which case the device will not
    be accessible at all.  However, the PCI bus type driver will need
    to access its configuration space in order to enumerate it.
    
    To prevent possible device enumeration failures that may ensue as
    a result of ACPI power resources being initially in the "off"
    state, power up all children of the host bridge ACPI device object
    that hold valid _ADR objects (which indicates that they will be
    enumerated by the PCI bus type driver) and do that to all children
    of the ACPI device objects corresponding to PCI bridges (including
    PCIe ports).
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
    62d52871
pci_root.c 25.3 KB