[PATCH v4 1/2] drm: move i915_kick_out_vgacon to vgaarb

Gerd Hoffmann kraxel at redhat.com
Mon Feb 25 08:34:09 UTC 2019


On Fri, Feb 22, 2019 at 06:20:11PM +0100, Daniel Vetter wrote:
> On Fri, Feb 22, 2019 at 12:03 PM Gerd Hoffmann <kraxel at redhat.com> wrote:
> >
> >   Hi,
> >
> > > > -   /*
> > > > -    * WARNING: Apparently we must kick fbdev drivers before vgacon,
> > > > -    * otherwise the vga fbdev driver falls over.
> > > > -    */
> > > >     ret = i915_kick_out_firmware_fb(dev_priv);
> > >
> > > This needs to be replaced with a call to
> > > drm_fb_helper_remove_conflicting_pci_framebuffers, because the above
> > > wrapper hasn't been converted yet. Otherwise you end up removing the
> > > vgacon unbind from i915.
> >
> > Ah, little but important difference I didn't notice on the first look.
> > That wrapper calls the non-pci version.  But seems it isn't that easy
> > to switch over because the framebuffer is in stolen memory instead of a
> > pci bar ...
> 
> stolen memory is where the fb physically resides. the pci bar is how
> you access it (as long as you take all the pci bars). From a quick
> look i915 and pci version of remove_conflicting_fb matched.

Well, it is

	ap->ranges[0].base = ggtt->gmadr.start;
	ap->ranges[0].size = ggtt->mappable_end;

vs.

	ap->ranges[0].base = pci_resource_start(pdev, res_id);
	ap->ranges[0].size = pci_resource_len(pdev, res_id);

So not obvious that they are the same.  At least to me, maybe it is a
different story for someone knowing the i915 driver better.

thanks,
  Gerd



More information about the dri-devel mailing list