[+cc Ben, David, Daniel, Alex] On Thu, Jul 13, 2017 at 10:29:25AM +0000, Gabriele Paoloni wrote: > Hi Bjorn, Daniel > > [...] > > > > > Is this quirk useful on any arch other than arm64? Per > > drivers/pci/dwc/Kconfig, CONFIG_PCI_HISI depends on CONFIG_ARM64. > > > > Would it make sense to put this quirk in arch/arm64/kernel/pci.c? > > Indeed our host controller depends on ARM64 so maybe it would make > sense to move the quirk arch/arm64/kernel/pci.c; however regardless > why is it strictly required for a VGA device to be legacy one in order > to make it the default boot device? > i.e. couldn't we have: > > diff --git a/drivers/gpu/vga/vgaarb.c b/drivers/gpu/vga/vgaarb.c > index 0f5b2dd..a6b606c 100644 > --- a/drivers/gpu/vga/vgaarb.c > +++ b/drivers/gpu/vga/vgaarb.c > @@ -667,8 +667,7 @@ static bool vga_arbiter_add_pci_device(struct pci_dev *pdev) > /* Deal with VGA default device. Use first enabled one > * by default if arch doesn't have it's own hook > */ > - if (vga_default == NULL && > - ((vgadev->owns & VGA_RSRC_LEGACY_MASK) == VGA_RSRC_LEGACY_MASK)) { > + if (vga_default == NULL) { > vgaarb_info(&pdev->dev, "setting as boot VGA device\n"); > vga_set_default_device(pdev); > } I don't know enough about the VGA arbiter to answer this. This test was part of the initial implementation: deb2d2ecd43d ("PCI/GPU: implement VGA arbitration on Linux") by Ben. Bjorn