[PATCH 1/2 v2] vgaarb: Don't default exclusively to first video device with mem+io
Bruno Prémont
bonbons at linux-vserver.org
Thu Aug 28 13:47:50 PDT 2014
On Tue, 26 August 2014 Andreas Noever <andreas.noever at gmail.com> wrote:
> On Sun, Aug 24, 2014 at 11:09 PM, Bruno Prémont wrote:
> > With commit 20cde694027e boot video device detection was moved from
> > efifb to x86 and ia64 pci/fixup.c.
> >
> > For dual-GPU Apple computers above change represents a regression as
> > code in efifb did forcefully override vga_default_device while the
> > merge did not (vgaarb happens prior to PCI fixup).
> >
> > To improve on initial device selection by vgaarb (it cannot know if
> > PCI device not behind bridges see/decode legacy VGA I/O or not), move
> > the screen_info based check from pci_video_fixup to vgaarb's init
> > function and use it to refine/override decision taken while adding
> > the individual PCI VGA devices.
> > This way PCI fixup has no reason to adjust vga_default_device
> > anymore but can depend on its value for flagging shadowed VBIOS.
> >
> > This has the nice benefit of removing duplicated code but does
> > introduce a #if defined() block in vgaarb.
> > Not all architectures have screen_info and would cause compile to
> > fail without it.
> >
> > Reported-By: Andreas Noever <andreas.noever at gmail.com>
> > CC: Matthew Garrett <matthew.garrett at nebula.com>
> > CC: stable at vger.kernel.org # v3.5+
> > Signed-off-by: Bruno Prémont <bonbons at linux-vserver.org>
> > ---
> > Andreas, does this work properly for you, including the improvement
> > on i915 complaint about VBIOS going from KERN_ERR to KERN_INFO?
> Yep, thanks!
>
> >
> > Other arches using PCI and vgaarb that have screen_info may want
> > to be added to the #if defined() block or even introduce a new
> > CONFIG_HAVE_SCREEN_INFO or similar...
Bjorn, can you queue these two patches, probably going through -next
for a week and passing them to Linus for -rc4, adding Andreas's Tested-by
to Patch 1/2 v2?
Thanks,
Bruno
More information about the dri-devel
mailing list