All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sam Ravnborg <sam@ravnborg.org>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: linux-fbdev@vger.kernel.org, Du Cheng <ducheng2@gmail.com>,
	Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>,
	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>,
	Claudio Suarez <cssk@net-c.es>,
	Daniel Vetter <daniel.vetter@intel.com>
Subject: Re: [PATCH 18/21] fbcon: untangle fbcon_exit
Date: Fri, 4 Feb 2022 21:06:38 +0100	[thread overview]
Message-ID: <Yf2HTungn5DFhAPa@ravnborg.org> (raw)
In-Reply-To: <20220131210552.482606-19-daniel.vetter@ffwll.ch>

Hi Daniel,

On Mon, Jan 31, 2022 at 10:05:49PM +0100, Daniel Vetter wrote:
> There's a bunch of confusions going on here:
> - The deferred fbcon setup notifier should only be cleaned up from
>   fb_console_exit(), to be symmetric with fb_console_init()
> - We also need to make sure we don't race with the work, which means
>   temporarily dropping the console lock (or we can deadlock)
> - That also means no point in clearing deferred_takeover, we are
>   unloading everything anyway.
> - Finally rename fbcon_exit to fbcon_release_all and move it, since
>   that's what's it doing when being called from consw->con_deinit
>   through fbcon_deinit.
> 
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Claudio Suarez <cssk@net-c.es>
> Cc: Du Cheng <ducheng2@gmail.com>
> Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
> ---
>  drivers/video/fbdev/core/fbcon.c | 63 ++++++++++++++++----------------
>  1 file changed, 32 insertions(+), 31 deletions(-)
> 
> diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c
> index 5c14e24d14a1..22581952b4fd 100644
> --- a/drivers/video/fbdev/core/fbcon.c
> +++ b/drivers/video/fbdev/core/fbcon.c
> @@ -185,7 +185,6 @@ static void fbcon_set_disp(struct fb_info *info, struct fb_var_screeninfo *var,
>  			   int unit);
>  static void fbcon_modechanged(struct fb_info *info);
>  static void fbcon_set_all_vcs(struct fb_info *info);
> -static void fbcon_exit(void);
>  
>  static struct device *fbcon_device;
>  
> @@ -1149,6 +1148,27 @@ static void fbcon_free_font(struct fbcon_display *p, bool freefont)
>  
>  static void set_vc_hi_font(struct vc_data *vc, bool set);
>  
> +static void fbcon_release_all(void)
> +{
> +	struct fb_info *info;
> +	int i, j, mapped;
> +
> +	for_each_registered_fb(i) {
> +		mapped = 0;
> +		info = registered_fb[i];
> +
> +		for (j = first_fb_vc; j <= last_fb_vc; j++) {
> +			if (con2fb_map[j] == i) {
> +				mapped = 1;
> +				con2fb_map[j] = -1;
> +			}
> +		}
> +
> +		if (mapped)
> +			fbcon_release(info);
> +	}
> +}
> +
>  static void fbcon_deinit(struct vc_data *vc)
>  {
>  	struct fbcon_display *p = &fb_display[vc->vc_num];
> @@ -1188,7 +1208,7 @@ static void fbcon_deinit(struct vc_data *vc)
>  		set_vc_hi_font(vc, false);
>  
>  	if (!con_is_bound(&fb_con))
> -		fbcon_exit();
> +		fbcon_release_all();
>  
>  	if (vc->vc_num == logo_shown)
>  		logo_shown = FBCON_LOGO_CANSHOW;
> @@ -3316,34 +3336,6 @@ static void fbcon_start(void)
>  #endif
>  }
>  
> -static void fbcon_exit(void)
> -{
> -	struct fb_info *info;
> -	int i, j, mapped;
> -
> -#ifdef CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER
> -	if (deferred_takeover) {
> -		dummycon_unregister_output_notifier(&fbcon_output_nb);
> -		deferred_takeover = false;
> -	}
> -#endif
> -
> -	for_each_registered_fb(i) {
> -		mapped = 0;
> -		info = registered_fb[i];
> -
> -		for (j = first_fb_vc; j <= last_fb_vc; j++) {
> -			if (con2fb_map[j] == i) {
> -				mapped = 1;
> -				con2fb_map[j] = -1;
> -			}
> -		}
> -
> -		if (mapped)
> -			fbcon_release(info);
> -	}
> -}
> -
>  void __init fb_console_init(void)
>  {
>  	int i;
> @@ -3383,10 +3375,19 @@ static void __exit fbcon_deinit_device(void)
>  
>  void __exit fb_console_exit(void)
>  {
> +#ifdef CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER
> +	console_lock();
> +	if (deferred_takeover)
> +		dummycon_unregister_output_notifier(&fbcon_output_nb);
> +	console_unlock();
> +
> +	cancel_work_sync(&fbcon_deferred_takeover_work);
> +#endif
> +
>  	console_lock();
>  	fbcon_deinit_device();
>  	device_destroy(fb_class, MKDEV(0, 0));
> -	fbcon_exit();
> +
We loose the call to fbcon_release_all() here.
We have part of the old fbcon_exit() above, but miss the release parts.

Maybe I missed something obvious?

The rest looks fine.

	Sam

>  	do_unregister_con_driver(&fb_con);
>  	console_unlock();
>  }	
> -- 
> 2.33.0

WARNING: multiple messages have this Message-ID (diff)
From: Sam Ravnborg <sam@ravnborg.org>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: linux-fbdev@vger.kernel.org, Du Cheng <ducheng2@gmail.com>,
	Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>,
	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>,
	Daniel Vetter <daniel.vetter@intel.com>
Subject: Re: [Intel-gfx] [PATCH 18/21] fbcon: untangle fbcon_exit
Date: Fri, 4 Feb 2022 21:06:38 +0100	[thread overview]
Message-ID: <Yf2HTungn5DFhAPa@ravnborg.org> (raw)
In-Reply-To: <20220131210552.482606-19-daniel.vetter@ffwll.ch>

Hi Daniel,

On Mon, Jan 31, 2022 at 10:05:49PM +0100, Daniel Vetter wrote:
> There's a bunch of confusions going on here:
> - The deferred fbcon setup notifier should only be cleaned up from
>   fb_console_exit(), to be symmetric with fb_console_init()
> - We also need to make sure we don't race with the work, which means
>   temporarily dropping the console lock (or we can deadlock)
> - That also means no point in clearing deferred_takeover, we are
>   unloading everything anyway.
> - Finally rename fbcon_exit to fbcon_release_all and move it, since
>   that's what's it doing when being called from consw->con_deinit
>   through fbcon_deinit.
> 
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Claudio Suarez <cssk@net-c.es>
> Cc: Du Cheng <ducheng2@gmail.com>
> Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
> ---
>  drivers/video/fbdev/core/fbcon.c | 63 ++++++++++++++++----------------
>  1 file changed, 32 insertions(+), 31 deletions(-)
> 
> diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c
> index 5c14e24d14a1..22581952b4fd 100644
> --- a/drivers/video/fbdev/core/fbcon.c
> +++ b/drivers/video/fbdev/core/fbcon.c
> @@ -185,7 +185,6 @@ static void fbcon_set_disp(struct fb_info *info, struct fb_var_screeninfo *var,
>  			   int unit);
>  static void fbcon_modechanged(struct fb_info *info);
>  static void fbcon_set_all_vcs(struct fb_info *info);
> -static void fbcon_exit(void);
>  
>  static struct device *fbcon_device;
>  
> @@ -1149,6 +1148,27 @@ static void fbcon_free_font(struct fbcon_display *p, bool freefont)
>  
>  static void set_vc_hi_font(struct vc_data *vc, bool set);
>  
> +static void fbcon_release_all(void)
> +{
> +	struct fb_info *info;
> +	int i, j, mapped;
> +
> +	for_each_registered_fb(i) {
> +		mapped = 0;
> +		info = registered_fb[i];
> +
> +		for (j = first_fb_vc; j <= last_fb_vc; j++) {
> +			if (con2fb_map[j] == i) {
> +				mapped = 1;
> +				con2fb_map[j] = -1;
> +			}
> +		}
> +
> +		if (mapped)
> +			fbcon_release(info);
> +	}
> +}
> +
>  static void fbcon_deinit(struct vc_data *vc)
>  {
>  	struct fbcon_display *p = &fb_display[vc->vc_num];
> @@ -1188,7 +1208,7 @@ static void fbcon_deinit(struct vc_data *vc)
>  		set_vc_hi_font(vc, false);
>  
>  	if (!con_is_bound(&fb_con))
> -		fbcon_exit();
> +		fbcon_release_all();
>  
>  	if (vc->vc_num == logo_shown)
>  		logo_shown = FBCON_LOGO_CANSHOW;
> @@ -3316,34 +3336,6 @@ static void fbcon_start(void)
>  #endif
>  }
>  
> -static void fbcon_exit(void)
> -{
> -	struct fb_info *info;
> -	int i, j, mapped;
> -
> -#ifdef CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER
> -	if (deferred_takeover) {
> -		dummycon_unregister_output_notifier(&fbcon_output_nb);
> -		deferred_takeover = false;
> -	}
> -#endif
> -
> -	for_each_registered_fb(i) {
> -		mapped = 0;
> -		info = registered_fb[i];
> -
> -		for (j = first_fb_vc; j <= last_fb_vc; j++) {
> -			if (con2fb_map[j] == i) {
> -				mapped = 1;
> -				con2fb_map[j] = -1;
> -			}
> -		}
> -
> -		if (mapped)
> -			fbcon_release(info);
> -	}
> -}
> -
>  void __init fb_console_init(void)
>  {
>  	int i;
> @@ -3383,10 +3375,19 @@ static void __exit fbcon_deinit_device(void)
>  
>  void __exit fb_console_exit(void)
>  {
> +#ifdef CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER
> +	console_lock();
> +	if (deferred_takeover)
> +		dummycon_unregister_output_notifier(&fbcon_output_nb);
> +	console_unlock();
> +
> +	cancel_work_sync(&fbcon_deferred_takeover_work);
> +#endif
> +
>  	console_lock();
>  	fbcon_deinit_device();
>  	device_destroy(fb_class, MKDEV(0, 0));
> -	fbcon_exit();
> +
We loose the call to fbcon_release_all() here.
We have part of the old fbcon_exit() above, but miss the release parts.

Maybe I missed something obvious?

The rest looks fine.

	Sam

>  	do_unregister_con_driver(&fb_con);
>  	console_unlock();
>  }	
> -- 
> 2.33.0

WARNING: multiple messages have this Message-ID (diff)
From: Sam Ravnborg <sam@ravnborg.org>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: DRI Development <dri-devel@lists.freedesktop.org>,
	linux-fbdev@vger.kernel.org, Du Cheng <ducheng2@gmail.com>,
	Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Claudio Suarez <cssk@net-c.es>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Daniel Vetter <daniel.vetter@intel.com>
Subject: Re: [PATCH 18/21] fbcon: untangle fbcon_exit
Date: Fri, 4 Feb 2022 21:06:38 +0100	[thread overview]
Message-ID: <Yf2HTungn5DFhAPa@ravnborg.org> (raw)
In-Reply-To: <20220131210552.482606-19-daniel.vetter@ffwll.ch>

Hi Daniel,

On Mon, Jan 31, 2022 at 10:05:49PM +0100, Daniel Vetter wrote:
> There's a bunch of confusions going on here:
> - The deferred fbcon setup notifier should only be cleaned up from
>   fb_console_exit(), to be symmetric with fb_console_init()
> - We also need to make sure we don't race with the work, which means
>   temporarily dropping the console lock (or we can deadlock)
> - That also means no point in clearing deferred_takeover, we are
>   unloading everything anyway.
> - Finally rename fbcon_exit to fbcon_release_all and move it, since
>   that's what's it doing when being called from consw->con_deinit
>   through fbcon_deinit.
> 
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Claudio Suarez <cssk@net-c.es>
> Cc: Du Cheng <ducheng2@gmail.com>
> Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
> ---
>  drivers/video/fbdev/core/fbcon.c | 63 ++++++++++++++++----------------
>  1 file changed, 32 insertions(+), 31 deletions(-)
> 
> diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c
> index 5c14e24d14a1..22581952b4fd 100644
> --- a/drivers/video/fbdev/core/fbcon.c
> +++ b/drivers/video/fbdev/core/fbcon.c
> @@ -185,7 +185,6 @@ static void fbcon_set_disp(struct fb_info *info, struct fb_var_screeninfo *var,
>  			   int unit);
>  static void fbcon_modechanged(struct fb_info *info);
>  static void fbcon_set_all_vcs(struct fb_info *info);
> -static void fbcon_exit(void);
>  
>  static struct device *fbcon_device;
>  
> @@ -1149,6 +1148,27 @@ static void fbcon_free_font(struct fbcon_display *p, bool freefont)
>  
>  static void set_vc_hi_font(struct vc_data *vc, bool set);
>  
> +static void fbcon_release_all(void)
> +{
> +	struct fb_info *info;
> +	int i, j, mapped;
> +
> +	for_each_registered_fb(i) {
> +		mapped = 0;
> +		info = registered_fb[i];
> +
> +		for (j = first_fb_vc; j <= last_fb_vc; j++) {
> +			if (con2fb_map[j] == i) {
> +				mapped = 1;
> +				con2fb_map[j] = -1;
> +			}
> +		}
> +
> +		if (mapped)
> +			fbcon_release(info);
> +	}
> +}
> +
>  static void fbcon_deinit(struct vc_data *vc)
>  {
>  	struct fbcon_display *p = &fb_display[vc->vc_num];
> @@ -1188,7 +1208,7 @@ static void fbcon_deinit(struct vc_data *vc)
>  		set_vc_hi_font(vc, false);
>  
>  	if (!con_is_bound(&fb_con))
> -		fbcon_exit();
> +		fbcon_release_all();
>  
>  	if (vc->vc_num == logo_shown)
>  		logo_shown = FBCON_LOGO_CANSHOW;
> @@ -3316,34 +3336,6 @@ static void fbcon_start(void)
>  #endif
>  }
>  
> -static void fbcon_exit(void)
> -{
> -	struct fb_info *info;
> -	int i, j, mapped;
> -
> -#ifdef CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER
> -	if (deferred_takeover) {
> -		dummycon_unregister_output_notifier(&fbcon_output_nb);
> -		deferred_takeover = false;
> -	}
> -#endif
> -
> -	for_each_registered_fb(i) {
> -		mapped = 0;
> -		info = registered_fb[i];
> -
> -		for (j = first_fb_vc; j <= last_fb_vc; j++) {
> -			if (con2fb_map[j] == i) {
> -				mapped = 1;
> -				con2fb_map[j] = -1;
> -			}
> -		}
> -
> -		if (mapped)
> -			fbcon_release(info);
> -	}
> -}
> -
>  void __init fb_console_init(void)
>  {
>  	int i;
> @@ -3383,10 +3375,19 @@ static void __exit fbcon_deinit_device(void)
>  
>  void __exit fb_console_exit(void)
>  {
> +#ifdef CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER
> +	console_lock();
> +	if (deferred_takeover)
> +		dummycon_unregister_output_notifier(&fbcon_output_nb);
> +	console_unlock();
> +
> +	cancel_work_sync(&fbcon_deferred_takeover_work);
> +#endif
> +
>  	console_lock();
>  	fbcon_deinit_device();
>  	device_destroy(fb_class, MKDEV(0, 0));
> -	fbcon_exit();
> +
We loose the call to fbcon_release_all() here.
We have part of the old fbcon_exit() above, but miss the release parts.

Maybe I missed something obvious?

The rest looks fine.

	Sam

>  	do_unregister_con_driver(&fb_con);
>  	console_unlock();
>  }	
> -- 
> 2.33.0

  reply	other threads:[~2022-02-04 20:06 UTC|newest]

Thread overview: 241+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-31 21:05 [PATCH 00/21] some fbcon patches, mostly locking Daniel Vetter
2022-01-31 21:05 ` [Intel-gfx] " Daniel Vetter
2022-01-31 21:05 ` Daniel Vetter
2022-01-31 21:05 ` [PATCH 01/21] MAINTAINERS: Add entry for fbdev core Daniel Vetter
2022-01-31 21:05   ` [Intel-gfx] " Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-02-01 10:19   ` Thomas Zimmermann
2022-02-01 10:19     ` [Intel-gfx] " Thomas Zimmermann
2022-02-01 10:19     ` Thomas Zimmermann
2022-02-01 10:45     ` Greg Kroah-Hartman
2022-02-01 10:45       ` [Intel-gfx] " Greg Kroah-Hartman
2022-02-01 10:45       ` Greg Kroah-Hartman
2022-02-01 10:32   ` Helge Deller
2022-02-01 10:32     ` [Intel-gfx] " Helge Deller
2022-02-01 10:32     ` Helge Deller
2022-02-01 14:01   ` Javier Martinez Canillas
2022-02-01 14:01     ` [Intel-gfx] " Javier Martinez Canillas
2022-02-01 14:01     ` Javier Martinez Canillas
2022-02-01 14:47   ` Jani Nikula
2022-02-01 14:47     ` Jani Nikula
2022-02-01 14:47     ` [Intel-gfx] " Jani Nikula
2022-02-01 14:54   ` Geert Uytterhoeven
2022-02-01 14:54     ` [Intel-gfx] " Geert Uytterhoeven
2022-02-01 14:54     ` Geert Uytterhoeven
2022-02-01 20:47   ` Dave Airlie
2022-02-01 20:47     ` [Intel-gfx] " Dave Airlie
2022-02-01 20:47     ` Dave Airlie
2022-02-02 11:10   ` Daniel Stone
2022-02-02 11:10     ` Daniel Stone
2022-02-02 11:10     ` [Intel-gfx] " Daniel Stone
2022-02-02 11:18   ` Tomi Valkeinen
2022-02-02 11:18     ` [Intel-gfx] " Tomi Valkeinen
2022-02-02 11:18     ` Tomi Valkeinen
2022-02-02 11:31   ` Maxime Ripard
2022-02-02 11:31     ` [Intel-gfx] " Maxime Ripard
2022-02-02 11:31     ` Maxime Ripard
2022-02-02 13:48     ` Alex Deucher
2022-02-02 13:48       ` [Intel-gfx] " Alex Deucher
2022-02-02 13:48       ` Alex Deucher
2022-02-03 20:25   ` Sam Ravnborg
2022-02-03 20:25     ` Sam Ravnborg
2022-02-03 20:25     ` [Intel-gfx] " Sam Ravnborg
2022-02-08 14:12   ` Daniel Vetter
2022-02-08 14:12     ` [Intel-gfx] " Daniel Vetter
2022-02-08 14:12     ` Daniel Vetter
2022-01-31 21:05 ` [PATCH 02/21] fbcon: Resurrect fbcon accelerated scrolling code Daniel Vetter
2022-01-31 21:05   ` [Intel-gfx] " Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-01-31 21:05 ` [PATCH 03/21] fbcon: Restore fbcon scrolling acceleration Daniel Vetter
2022-01-31 21:05   ` [Intel-gfx] " Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-02-01 10:16   ` Helge Deller
2022-02-01 10:16     ` [Intel-gfx] " Helge Deller
2022-02-01 10:16     ` Helge Deller
2022-02-01 10:17     ` Helge Deller
2022-02-01 10:17       ` [Intel-gfx] " Helge Deller
2022-02-01 10:17       ` Helge Deller
2022-02-01 10:36     ` Daniel Vetter
2022-02-01 10:36       ` [Intel-gfx] " Daniel Vetter
2022-02-01 10:36       ` Daniel Vetter
2022-02-01 11:01       ` Helge Deller
2022-02-01 11:01         ` [Intel-gfx] " Helge Deller
2022-02-01 11:01         ` Helge Deller
2022-02-01 13:45         ` Daniel Vetter
2022-02-01 13:45           ` [Intel-gfx] " Daniel Vetter
2022-02-01 13:45           ` Daniel Vetter
2022-02-01 14:52           ` Helge Deller
2022-02-01 14:52             ` [Intel-gfx] " Helge Deller
2022-02-01 14:52             ` Helge Deller
2022-02-01 16:30             ` Daniel Vetter
2022-02-01 16:30               ` [Intel-gfx] " Daniel Vetter
2022-02-01 16:30               ` Daniel Vetter
2022-01-31 21:05 ` [PATCH 04/21] fbcon: delete a few unneeded forward decl Daniel Vetter
2022-01-31 21:05   ` [Intel-gfx] " Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-02-03 20:30   ` Sam Ravnborg
2022-02-03 20:30     ` Sam Ravnborg
2022-02-03 20:30     ` [Intel-gfx] " Sam Ravnborg
2022-02-04 10:00   ` Geert Uytterhoeven
2022-02-04 10:00     ` [Intel-gfx] " Geert Uytterhoeven
2022-02-04 10:00     ` Geert Uytterhoeven
2022-01-31 21:05 ` [PATCH 05/21] fbcon: Introduce wrapper for console->fb_info lookup Daniel Vetter
2022-01-31 21:05   ` [Intel-gfx] " Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-02-03 21:25   ` Sam Ravnborg
2022-02-03 21:25     ` Sam Ravnborg
2022-02-03 21:25     ` [Intel-gfx] " Sam Ravnborg
2022-01-31 21:05 ` [PATCH 06/21] fbcon: delete delayed loading code Daniel Vetter
2022-01-31 21:05   ` [Intel-gfx] " Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-02-03 20:45   ` Sam Ravnborg
2022-02-03 20:45     ` Sam Ravnborg
2022-02-03 20:45     ` [Intel-gfx] " Sam Ravnborg
2022-02-08 13:42     ` Daniel Vetter
2022-02-08 13:42       ` [Intel-gfx] " Daniel Vetter
2022-02-08 13:42       ` Daniel Vetter
2022-02-08 18:09       ` Sam Ravnborg
2022-02-08 18:09         ` [Intel-gfx] " Sam Ravnborg
2022-01-31 21:05 ` [PATCH 07/21] fbdev/sysfs: Fix locking Daniel Vetter
2022-01-31 21:05   ` [Intel-gfx] " Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-02-03 21:27   ` Sam Ravnborg
2022-02-03 21:27     ` Sam Ravnborg
2022-02-03 21:27     ` [Intel-gfx] " Sam Ravnborg
2022-01-31 21:05 ` [PATCH 08/21] fbcon: Use delayed work for cursor Daniel Vetter
2022-01-31 21:05   ` [Intel-gfx] " Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-01-31 21:05 ` [PATCH 09/21] fbcon: Replace FBCON_FLAGS_INIT with a boolean Daniel Vetter
2022-01-31 21:05   ` [Intel-gfx] " Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-02-01 10:37   ` Thomas Zimmermann
2022-02-01 10:37     ` [Intel-gfx] " Thomas Zimmermann
2022-02-01 10:37     ` Thomas Zimmermann
2022-02-03 13:47     ` Geert Uytterhoeven
2022-02-03 13:47       ` [Intel-gfx] " Geert Uytterhoeven
2022-02-03 13:47       ` Geert Uytterhoeven
2022-02-03 21:30   ` Sam Ravnborg
2022-02-03 21:30     ` Sam Ravnborg
2022-02-03 21:30     ` [Intel-gfx] " Sam Ravnborg
2022-01-31 21:05 ` [PATCH 10/21] fb: Delete fb_info->queue Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-01-31 21:05   ` [Intel-gfx] " Daniel Vetter
2022-02-03 21:31   ` Sam Ravnborg
2022-02-03 21:31     ` Sam Ravnborg
2022-02-03 21:31     ` [Intel-gfx] " Sam Ravnborg
2022-02-08 13:46     ` Daniel Vetter
2022-02-08 13:46       ` [Intel-gfx] " Daniel Vetter
2022-02-08 13:46       ` Daniel Vetter
2022-02-08 18:22       ` Sam Ravnborg
2022-02-08 18:22         ` [Intel-gfx] " Sam Ravnborg
2022-01-31 21:05 ` [PATCH 11/21] fbcon: Extract fbcon_open/release helpers Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-01-31 21:05   ` [Intel-gfx] " Daniel Vetter
2022-02-03 21:15   ` Sam Ravnborg
2022-02-03 21:15     ` Sam Ravnborg
2022-02-03 21:15     ` [Intel-gfx] " Sam Ravnborg
2022-02-03 21:32     ` Sam Ravnborg
2022-02-03 21:32       ` Sam Ravnborg
2022-02-08 13:48     ` Daniel Vetter
2022-02-08 13:48       ` [Intel-gfx] " Daniel Vetter
2022-02-08 13:48       ` Daniel Vetter
2022-02-08 18:24       ` Sam Ravnborg
2022-02-08 18:24         ` [Intel-gfx] " Sam Ravnborg
2022-02-08 19:51         ` Daniel Vetter
2022-02-08 19:51           ` Daniel Vetter
2022-02-08 19:51           ` Daniel Vetter
2022-01-31 21:05 ` [Intel-gfx] [PATCH 12/21] fbcon: Ditch error handling for con2fb_release_oldinfo Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-02-03 21:16   ` Sam Ravnborg
2022-02-03 21:16     ` Sam Ravnborg
2022-02-03 21:16     ` [Intel-gfx] " Sam Ravnborg
2022-01-31 21:05 ` [PATCH 13/21] fbcon: move more common code into fb_open() Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-01-31 21:05   ` [Intel-gfx] " Daniel Vetter
2022-01-31 23:31   ` kernel test robot
2022-01-31 23:31     ` kernel test robot
2022-01-31 23:31     ` kernel test robot
2022-02-04 19:35   ` Sam Ravnborg
2022-02-04 19:35     ` Sam Ravnborg
2022-02-04 19:35     ` [Intel-gfx] " Sam Ravnborg
2022-02-08 13:53     ` Daniel Vetter
2022-02-08 13:53       ` [Intel-gfx] " Daniel Vetter
2022-02-08 13:53       ` Daniel Vetter
2022-02-08 18:25       ` Sam Ravnborg
2022-02-08 18:25         ` [Intel-gfx] " Sam Ravnborg
2022-01-31 21:05 ` [Intel-gfx] [PATCH 14/21] fbcon: use lock_fb_info in fbcon_open/release Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-02-04 19:39   ` Sam Ravnborg
2022-02-04 19:39     ` Sam Ravnborg
2022-02-04 19:39     ` [Intel-gfx] " Sam Ravnborg
2022-01-31 21:05 ` [PATCH 15/21] fbcon: Consistently protect deferred_takeover with console_lock() Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-01-31 21:05   ` [Intel-gfx] " Daniel Vetter
2022-02-04 19:45   ` Sam Ravnborg
2022-02-04 19:45     ` Sam Ravnborg
2022-02-04 19:45     ` [Intel-gfx] " Sam Ravnborg
2022-01-31 21:05 ` [PATCH 16/21] fbcon: Move console_lock for register/unlink/unregister Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-01-31 21:05   ` [Intel-gfx] " Daniel Vetter
2022-02-04 19:54   ` Sam Ravnborg
2022-02-04 19:54     ` Sam Ravnborg
2022-02-04 19:54     ` [Intel-gfx] " Sam Ravnborg
2022-02-08 13:56     ` Daniel Vetter
2022-02-08 13:56       ` [Intel-gfx] " Daniel Vetter
2022-02-08 13:56       ` Daniel Vetter
2022-01-31 21:05 ` [PATCH 17/21] fbcon: Move more code into fbcon_release Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-01-31 21:05   ` [Intel-gfx] " Daniel Vetter
2022-02-04 19:55   ` Sam Ravnborg
2022-02-04 19:55     ` Sam Ravnborg
2022-02-04 19:55     ` [Intel-gfx] " Sam Ravnborg
2022-01-31 21:05 ` [PATCH 18/21] fbcon: untangle fbcon_exit Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-01-31 21:05   ` [Intel-gfx] " Daniel Vetter
2022-02-04 20:06   ` Sam Ravnborg [this message]
2022-02-04 20:06     ` Sam Ravnborg
2022-02-04 20:06     ` [Intel-gfx] " Sam Ravnborg
2022-02-08 13:58     ` Daniel Vetter
2022-02-08 13:58       ` [Intel-gfx] " Daniel Vetter
2022-02-08 13:58       ` Daniel Vetter
2022-02-08 18:27       ` Sam Ravnborg
2022-02-08 18:27         ` [Intel-gfx] " Sam Ravnborg
2022-01-31 21:05 ` [PATCH 19/21] fbcon: Maintain a private array of fb_info Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-01-31 21:05   ` [Intel-gfx] " Daniel Vetter
2022-02-04 20:15   ` Sam Ravnborg
2022-02-04 20:15     ` Sam Ravnborg
2022-02-04 20:15     ` [Intel-gfx] " Sam Ravnborg
2022-02-08 14:03     ` Daniel Vetter
2022-02-08 14:03       ` [Intel-gfx] " Daniel Vetter
2022-02-08 14:03       ` Daniel Vetter
2022-02-08 18:55       ` Sam Ravnborg
2022-02-08 18:55         ` [Intel-gfx] " Sam Ravnborg
2022-01-31 21:05 ` [PATCH 20/21] Revert "fbdev: Prevent probing generic drivers if a FB is already registered" Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-01-31 21:05   ` [Intel-gfx] " Daniel Vetter
2022-01-31 21:05 ` [PATCH 21/21] fbdev: Make registered_fb[] private to fbmem.c Daniel Vetter
2022-01-31 21:05   ` [Intel-gfx] " Daniel Vetter
2022-01-31 21:05   ` Daniel Vetter
2022-02-01  8:13   ` [Intel-gfx] " kernel test robot
2022-02-01  8:13     ` kernel test robot
2022-02-01  8:13     ` kernel test robot
2022-02-04  8:30   ` Geert Uytterhoeven
2022-02-04  8:30     ` [Intel-gfx] " Geert Uytterhoeven
2022-02-04  8:30     ` Geert Uytterhoeven
2022-02-08 14:04     ` [Intel-gfx] " Daniel Vetter
2022-02-08 14:04       ` Daniel Vetter
2022-02-08 14:04       ` Daniel Vetter
2022-02-08 20:59       ` Daniel Vetter
2022-02-08 20:59         ` [Intel-gfx] " Daniel Vetter
2022-02-08 19:00   ` Sam Ravnborg
2022-02-08 19:00     ` Sam Ravnborg
2022-02-08 19:00     ` [Intel-gfx] " Sam Ravnborg
2022-02-08 20:56     ` Daniel Vetter
2022-02-08 20:56       ` Daniel Vetter
2022-02-08 20:56       ` [Intel-gfx] " Daniel Vetter
2022-01-31 21:16 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for some fbcon patches, mostly locking Patchwork
2022-01-31 21:19 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2022-01-31 21:51 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork

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=Yf2HTungn5DFhAPa@ravnborg.org \
    --to=sam@ravnborg.org \
    --cc=cssk@net-c.es \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel.vetter@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=ducheng2@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=penguin-kernel@i-love.sakura.ne.jp \
    /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.