Commit Message

With commit b4aa0163056b6c70029b6e8619ce07c274351f42 Matthew Garret
introduced a efifb vga_default_device() so that EFI systems that do not
load shadow VBIOS or setup VGA get proper value for boot_vga PCI sysfs
attribute on the corresponding PCI device.
Xorg is refusing to detect devices when boot_vga=0 which is the case on
some EFI system (e.g. MacBookAir2,1). Xorg detects the GPU and finds
the dri device but then bails out with "no devices detected".
With introduction of sysfb/simplefb/simpledrm efifb is getting obsolete
while having native drivers for the GPU also makes selecting
sysfb/efifb optional.
Remove the efifb implementation of vga_default_device() and initialize
vgaarb's vga_default_device() with the PCI GPU that matches boot
screen_info in pci_fixup_video() [x86 and ia64 pci_fixup_video merged
into common function in vgaarb.c].
Other architectures with PCI GPU might need a similar fixup.
Note: If CONFIG_VGA_ARB is unset vga_default_device() is only available
as a stub that returns NULL, making this adjustment insufficient.
In addition, with the merge of x86/ia64 fixup code, this would
also result in disabled fixup.
Unsetting CONFIG_VGA_ARB requires CONFIG_EXPERT=y though.
Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org>
---
arch/ia64/pci/fixup.c | 56 ++++-----------------------------------------
arch/x86/include/asm/vga.h | 6 -----
arch/x86/pci/fixup.c | 53 +-----------------------------------------
drivers/gpu/vga/vgaarb.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++
drivers/video/efifb.c | 38 -------------------------------
include/linux/vgaarb.h | 37 ++++++++++++++++++++++++++++++
6 files changed, 99 insertions(+), 148 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html