Thomas Zimmermann 765624
From 3866cba87dcd0162fb41e9b3b653d0af68fad5ec Mon Sep 17 00:00:00 2001
Thomas Zimmermann 765624
From: Helge Deller <deller@gmx.de>
Thomas Zimmermann 765624
Date: Thu, 2 Jun 2022 22:08:38 +0200
Thomas Zimmermann 765624
Subject: fbcon: Fix accelerated fbdev scrolling while logo is still shown
Thomas Zimmermann 765624
Git-commit: 3866cba87dcd0162fb41e9b3b653d0af68fad5ec
Thomas Zimmermann 765624
Patch-mainline: v6.0-rc1
Thomas Zimmermann 765624
References: bsc#1152472
Thomas Zimmermann 765624
Thomas Zimmermann 765624
There is no need to directly skip over to the SCROLL_REDRAW case while
Thomas Zimmermann 765624
the logo is still shown.
Thomas Zimmermann 765624
Thomas Zimmermann 765624
When using DRM, this change has no effect because the code will reach
Thomas Zimmermann 765624
the SCROLL_REDRAW case immediately anyway.
Thomas Zimmermann 765624
Thomas Zimmermann 765624
But if you run an accelerated fbdev driver and have
Thomas Zimmermann 765624
FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION enabled, console scrolling is
Thomas Zimmermann 765624
slowed down by factors so that it feels as if you use a 9600 baud
Thomas Zimmermann 765624
terminal.
Thomas Zimmermann 765624
Thomas Zimmermann 765624
So, drop those unnecessary checks and speed up fbdev console
Thomas Zimmermann 765624
acceleration during bootup.
Thomas Zimmermann 765624
Thomas Zimmermann 765624
Cc: stable@vger.kernel.org # v5.10+
Thomas Zimmermann 765624
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Thomas Zimmermann 765624
Signed-off-by: Helge Deller <deller@gmx.de>
Thomas Zimmermann 765624
Link: https://patchwork.freedesktop.org/patch/msgid/YpkYxk7wsBPx3po+@p100
Thomas Zimmermann 765624
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Thomas Zimmermann 765624
---
Thomas Zimmermann 765624
 drivers/video/fbdev/core/fbcon.c | 4 ----
Thomas Zimmermann 765624
 1 file changed, 4 deletions(-)
Thomas Zimmermann 765624
Thomas Zimmermann 765624
diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c
Thomas Zimmermann 765624
index d765bbdf19dc..cb8d94d7feba 100644
Thomas Zimmermann 765624
--- a/drivers/video/fbdev/core/fbcon.c
Thomas Zimmermann 765624
+++ b/drivers/video/fbdev/core/fbcon.c
Thomas Zimmermann 765624
@@ -1758,8 +1758,6 @@ static bool fbcon_scroll(struct vc_data *vc, unsigned int t, unsigned int b,
Thomas Zimmermann 765624
 	case SM_UP:
Thomas Zimmermann 765624
 		if (count > vc->vc_rows)	/* Maximum realistic size */
Thomas Zimmermann 765624
 			count = vc->vc_rows;
Thomas Zimmermann 765624
-		if (logo_shown >= 0)
Thomas Zimmermann 765624
-			goto redraw_up;
Thomas Zimmermann 765624
 		switch (fb_scrollmode(p)) {
Thomas Zimmermann 765624
 		case SCROLL_MOVE:
Thomas Zimmermann 765624
 			fbcon_redraw_blit(vc, info, p, t, b - t - count,
Thomas Zimmermann 765624
@@ -1848,8 +1846,6 @@ static bool fbcon_scroll(struct vc_data *vc, unsigned int t, unsigned int b,
Thomas Zimmermann 765624
 	case SM_DOWN:
Thomas Zimmermann 765624
 		if (count > vc->vc_rows)	/* Maximum realistic size */
Thomas Zimmermann 765624
 			count = vc->vc_rows;
Thomas Zimmermann 765624
-		if (logo_shown >= 0)
Thomas Zimmermann 765624
-			goto redraw_down;
Thomas Zimmermann 765624
 		switch (fb_scrollmode(p)) {
Thomas Zimmermann 765624
 		case SCROLL_MOVE:
Thomas Zimmermann 765624
 			fbcon_redraw_blit(vc, info, p, b - 1, b - t - count,
Thomas Zimmermann 765624
-- 
Thomas Zimmermann 765624
2.37.3
Thomas Zimmermann 765624