[PATCH v4 1/2] drm: move i915_kick_out_vgacon to vgaarb
Daniel Vetter
daniel at ffwll.ch
Thu Feb 28 09:57:12 UTC 2019
On Mon, Feb 25, 2019 at 09:34:09AM +0100, Gerd Hoffmann wrote:
> 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.
It's one of the pci bars, so amounts to the same. But yeah not obvious if
you don't know that.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dri-devel
mailing list