All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: Emil Velikov <emil.l.velikov@gmail.com>,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	Andrew Morton <akpm@linux-foundation.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	LKML <linux-kernel@vger.kernel.org>,
	DRI Development <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH RESEND 2/2] drm/i915: prevent the vgacon from ever reloading
Date: Sun, 29 Nov 2015 13:47:42 +0100	[thread overview]
Message-ID: <20151129124742.GA17050@phenom.ffwll.local> (raw)
In-Reply-To: <CAKb7UvgfCkP7LG-wNCbRxQaQT8iL9YveVghQrYvKO-3bCE8uNg@mail.gmail.com>

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@gmail.com> wrote:
> > On 27 November 2015 at 15:10, Daniel Vetter <daniel.vetter@ffwll.ch> 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.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel@ffwll.ch>
To: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	Emil Velikov <emil.l.velikov@gmail.com>,
	LKML <linux-kernel@vger.kernel.org>,
	DRI Development <dri-devel@lists.freedesktop.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH RESEND 2/2] drm/i915: prevent the vgacon from ever reloading
Date: Sun, 29 Nov 2015 13:47:42 +0100	[thread overview]
Message-ID: <20151129124742.GA17050@phenom.ffwll.local> (raw)
In-Reply-To: <CAKb7UvgfCkP7LG-wNCbRxQaQT8iL9YveVghQrYvKO-3bCE8uNg@mail.gmail.com>

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@gmail.com> wrote:
> > On 27 November 2015 at 15:10, Daniel Vetter <daniel.vetter@ffwll.ch> 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.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2015-11-29 12:47 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-27 15:10 [PATCH RESEND 1/2] vgacon: dummy implementation for vgacon_text_force Daniel Vetter
2015-11-27 15:10 ` Daniel Vetter
2015-11-27 15:10 ` [PATCH RESEND 2/2] drm/i915: prevent the vgacon from ever reloading Daniel Vetter
2015-11-27 15:10   ` Daniel Vetter
2015-11-27 15:40   ` Emil Velikov
2015-11-27 15:40     ` Emil Velikov
2015-11-28  0:37     ` Ilia Mirkin
2015-11-28  0:37       ` Ilia Mirkin
2015-11-29 12:47       ` Daniel Vetter [this message]
2015-11-29 12:47         ` Daniel Vetter
2015-11-29 14:10         ` Emil Velikov
2015-11-29 14:10           ` Emil Velikov
2015-11-27 15:29 ` [PATCH RESEND 1/2] vgacon: dummy implementation for vgacon_text_force Emil Velikov
2015-11-27 15:29   ` Emil Velikov
2015-11-29 12:49   ` Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151129124742.GA17050@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=akpm@linux-foundation.org \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=emil.l.velikov@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=imirkin@alum.mit.edu \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.