Bug 84461

Summary: Regression: boot_vga not set properly for dual-GPU Apple computers
Product: Drivers Reporter: Bruno Prémont (bonbons)
Component: PCIAssignee: drivers_pci (drivers_pci)
Status: RESOLVED CODE_FIX    
Severity: high CC: bjorn, o.freyermuth
Priority: P1    
Hardware: x86-64   
OS: Linux   
URL: https://patchwork.kernel.org/patch/4771201/
Kernel Version: 3.17-rcX Subsystem:
Regression: Yes Bisected commit-id:

Description Bruno Prémont 2014-09-13 16:02:49 UTC
As reported by Andreas Noever Apple computers with both integrated Intel GPU and discrete NVidia GPU fail to boot properly with 20cde694027e that landed in 3.17-rc1.

The reason is that that patch stopped forcefully setting default_vga_device according to screen_info memory ownership but did just set first PCI device configured that had both IO and memory resources enabled.

Patch https://patchwork.kernel.org/patch/4771201/ (should be applied with Reported-and-Tested-by: Andreas instead of just reported-by) fixes this by moving the code originally in efifb to vgaarb's init() function and overriding the selection performed while registering PCI vga devices with vgaarb.

Patch https://patchwork.kernel.org/patch/4771211/ should go in at the same time (though not mandatory). It cleans up a few defines not used anymore that were left behind by commit 20cde694027e.
Comment 1 Bruno Prémont 2014-10-10 09:17:55 UTC
Fix commited as 86fd887b7fe350819dae5b55e7fef05b511c8656 to Linus tree, landed in 3.17-rc6.