Re: [PATCH] drm/i915: Only unbind vgacon, not other console drivers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

On Tue, Jul 8, 2014 at 10:08 AM, Daniel Vetter <daniel.vetter@xxxxxxxx> wrote:
> The console subsystem only provides a function to switch to a given
> console, but we want to actually only switach away from vgacon.
> Unconditionally switching to the dummy console resulted in switching
> away from fbcon in multi-gpu setups when other gpu drivers are loaded
> before i915.
>
> Then either the reinitialization of fbcon when i915 registers its
> fbdev emulation or the teardown of the fbcon driver killed the
> machine. So only switch to the dummy console when it's required.
>
> Kudos to Chris for the original idea, I've only refined it a bit to
> still unregister vgacon even when it's currently unused.
>
> This regression has been introduced in
>
> commit a4de05268e674e8ed31df6348269e22d6c6a1803
> Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
> Date:   Thu Jun 5 16:20:46 2014 +0200
>
>     drm/i915: Kick out vga console
>
> Reported-and-tested-by: Ed Tomlinson <edt@xxxxxx>
> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> Cc: David Herrmann <dh.herrmann@xxxxxxxxx>
> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>

Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx>

Thanks
David

> ---
>  drivers/gpu/drm/i915/i915_dma.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
> index 6c656392d67d..d44344140627 100644
> --- a/drivers/gpu/drm/i915/i915_dma.c
> +++ b/drivers/gpu/drm/i915/i915_dma.c
> @@ -1464,12 +1464,13 @@ static int i915_kick_out_vgacon(struct drm_i915_private *dev_priv)
>  #else
>  static int i915_kick_out_vgacon(struct drm_i915_private *dev_priv)
>  {
> -       int ret;
> +       int ret = 0;
>
>         DRM_INFO("Replacing VGA console driver\n");
>
>         console_lock();
> -       ret = do_take_over_console(&dummy_con, 0, MAX_NR_CONSOLES - 1, 1);
> +       if (con_is_bound(&vga_con))
> +               ret = do_take_over_console(&dummy_con, 0, MAX_NR_CONSOLES - 1, 1);
>         if (ret == 0) {
>                 ret = do_unregister_con_driver(&vga_con);
>
> --
> 2.0.0
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux