Bypass the IGD initialization for Intel's dgfx devices with own expansion ROM and the host/LPC bridge config space are no longer accessed. v2: simply test if discrete or integrated gfx device with root bus. (Alex Williamson) Cc: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> Cc: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Cc: Hang Yuan <hang.yuan@xxxxxxxxxxxxxxx> Cc: Stuart Summers <stuart.summers@xxxxxxxxx> Signed-off-by: Lucas De Marchi <lucas.demarchi@xxxxxxxxx> Signed-off-by: Fred Gao <fred.gao@xxxxxxxxx> --- drivers/vfio/pci/vfio_pci.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/vfio/pci/vfio_pci.c b/drivers/vfio/pci/vfio_pci.c index f634c81998bb..9258ccfadb79 100644 --- a/drivers/vfio/pci/vfio_pci.c +++ b/drivers/vfio/pci/vfio_pci.c @@ -336,10 +336,11 @@ static int vfio_pci_enable(struct vfio_pci_device *vdev) if (!vfio_vga_disabled() && vfio_pci_is_vga(pdev)) vdev->has_vga = true; - + /* Intel's dgfx should not appear on root bus */ if (vfio_pci_is_vga(pdev) && pdev->vendor == PCI_VENDOR_ID_INTEL && - IS_ENABLED(CONFIG_VFIO_PCI_IGD)) { + IS_ENABLED(CONFIG_VFIO_PCI_IGD) && + pci_is_root_bus(pdev->bus)) { ret = vfio_pci_igd_init(vdev); if (ret) { pci_warn(pdev, "Failed to setup Intel IGD regions\n"); -- 2.24.1.1.gb6d4d82bd5 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx