diff options
| author | Huacai Chen <[email protected]> | 2022-02-24 16:47:48 -0600 |
|---|---|---|
| committer | Bjorn Helgaas <[email protected]> | 2022-03-09 18:31:14 -0600 |
| commit | e96902eb8c69fdcc55fa6beee796c6b34613e0fc (patch) | |
| tree | cc4c8e16ee9d345c64480589098f042314f23336 /scripts/gdb/linux/utils.py | |
| parent | f8d81df285a2fa2e739a9e4774e413ac778d282c (diff) | |
PCI/VGA: Move non-legacy VGA detection to ADD_DEVICE path
a37c0f48950b ("vgaarb: Select a default VGA device even if there's no
legacy VGA") extended the vga_arb_device_init() subsys_initcall so it could
select a non-legacy VGA device as the default.
That failed to consider that PCI devices may be enumerated after
vga_arb_device_init(), e.g., hot-added devices or non-ACPI systems that do
PCI enumeration in pcibios_init(). Devices found then could never be
selected as the default.
One system where this is a problem is the MIPS-based Loongson where an
ASpeed AST2500 VGA device is behind a bridge that doesn't implement the VGA
Enable bit, so legacy resources are not routed to the VGA device. [1]
Fix this by moving the non-legacy VGA device selection from
vga_arb_select_default_device() to vga_arbiter_add_pci_device(), which is
called after every PCI device is enumerated, either by the
vga_arb_device_init() subsys_initcall or as an ADD_DEVICE notifier.
[1] https://lore.kernel.org/r/[email protected]
[bhelgaas: commit log, restructure]
Link: https://lore.kernel.org/r/[email protected]
Link: https://lore.kernel.org/r/[email protected]
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Huacai Chen <[email protected]>
Signed-off-by: Bjorn Helgaas <[email protected]>
Cc: Daniel Axtens <[email protected]>
Cc: Zhou Wang <[email protected]>
Diffstat (limited to 'scripts/gdb/linux/utils.py')
0 files changed, 0 insertions, 0 deletions