Add check for pci_device_linux_sysfs_boot_display()

In the case of multiple display devices that are not VGA devices
the 'boot_display' attribute read by libpciaccess can disambiguate.

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2038>
This commit is contained in:
Mario Limonciello
2025-06-23 22:30:46 -05:00
committed by Mario Limonciello (AMD)
parent aaa8d5a955
commit 41c58693c3
2 changed files with 5 additions and 3 deletions

View File

@@ -110,7 +110,8 @@ xf86PciProbe(void)
xf86PciVideoInfo[num - 1] = info;
pci_device_probe(info);
if (primaryBus.type == BUS_NONE && pci_device_is_boot_vga(info)) {
if (primaryBus.type == BUS_NONE && (pci_device_is_boot_vga(info) ||
pci_device_is_boot_display(info))) {
primaryBus.type = BUS_PCI;
primaryBus.id.pci = info;
}

View File

@@ -349,7 +349,7 @@ xf86platformProbe(void)
}
}
/* Then check for pci_device_is_boot_vga() */
/* Then check for pci_device_is_boot_vga()/pci_device_is_boot_display() */
for (i = 0; i < xf86_num_platform_devices; i++) {
struct xf86_platform_device *dev = &xf86_platform_devices[i];
@@ -357,7 +357,8 @@ xf86platformProbe(void)
continue;
pci_device_probe(dev->pdev);
if (pci_device_is_boot_vga(dev->pdev)) {
if (pci_device_is_boot_display(dev->pdev) ||
pci_device_is_boot_vga(dev->pdev)) {
primaryBus.type = BUS_PLATFORM;
primaryBus.id.plat = dev;
}