Re: [PATCH RESEND 2/2] drm/i915: prevent the vgacon from ever reloading

From: Emil Velikov
Date: Sun Nov 29 2015 - 09:10:26 EST


On 29 November 2015 at 12:47, Daniel Vetter <daniel@xxxxxxxx> wrote:
> On Fri, Nov 27, 2015 at 07:37:53PM -0500, Ilia Mirkin wrote:
>> On Fri, Nov 27, 2015 at 10:40 AM, Emil Velikov <emil.l.velikov@xxxxxxxxx> wrote:
>> > On 27 November 2015 at 15:10, Daniel Vetter <daniel.vetter@xxxxxxxx> wrote:
>> >> It only leads to bloodshed and tears - we don't bother to restore a
>> >> working legacy vga hw setup.
>> >>
>> >> On haswell with the new dynamic power well code this leads to even
>> >> more hilarity since for some configurations the hardware is simply no
>> >> longer there.
>> >>
>> >> The actual implementation is a bit a hack - we realy on fbcon to kick
>> >> out the vgacon. To make this also work with I915_FBDEV=n (or FBCON=n)
>> >> and VGA_CONSOLE=y i915 already unregisters the vga console manually
>> >> early in the driver load sequence.
>> >>
>> > Interesting... nv50 and later GPUs are in a roughly similar shame
>> > afaict. They lack the dedicated hardware and no one really bothered
>> > figuring out how to restore things to a working shape [1].
>> >
>> > Then again, upon sequential load of the nouveau module the GPU gets
>> > initialised properly, where you can get X (weston?) up and running
>> > without issues. Am I thinking about a different thing ?
>> >
>> > I take it that you guys do less of the (re)initialisation dance, to
>> > ensure faster boot times ?
>> >
>> > Thanks,
>> > Emil
>> >
>> > [1] http://nouveau.freedesktop.org/wiki/KernelModeSetting/#deactivatingkmsandunloadingnouveau
>>
>> FWIW it's possible to unload nouveau, at which point your screen turns
>> off (because we can't restore the vga emulation junk... haven't the
>> faintest clue how it works), and then reload it, at which point fbcon
>> gets rebound and is completely happy. I can't tell what this patch is
>> doing, but for your own sanity, you should support unloading/reloading
>> i915 as well.
>
> We do of course support unloading/reloading. And we do the same "shut
> everything down" like nouveau seems to do. The problem though on some hw
> is that if vgacon then tries to access the registers the hw dies. So the
> problem we have with not restoring VGA functionality isn't that the screen
> is black when i915.ko is unloaded, but that the machine dies. This patch
> fixes that.
I see. Thank you for the explanation!

-Emil
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/