dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/4] EFI fbcon fixes etc
@ 2025-12-08 19:39 Tvrtko Ursulin
  2025-12-08 19:39 ` [PATCH v5 1/4] efi: sysfb_efi: Replace open coded swap with the macro Tvrtko Ursulin
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Tvrtko Ursulin @ 2025-12-08 19:39 UTC (permalink / raw)
  To: dri-devel
  Cc: kernel-dev, Tvrtko Ursulin, Thomas Zimmermann, Ard Biesheuvel,
	Melissa Wen, linux-efi

From: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>

Two generic fixes split out for easy review, one refactoring as requested, and
then the last patch is the panel/mode quirk to allow for corruption free fbcon
with simpledrmfb and efidrmfb on the Valve Steam Deck.

v2:
 * s/unsigned/unsigned int/
 * s/pitch/linelength/
 * Removed comment explaining the Steam Deck quirk.
 * Added patch to refactor quirk application via callbacks.

v3:
 * Added forgotten __initconst.
 * Use separate callback for the fixup quirk.

v4:
 * Use __screen_info_lfb_bits_per_pixel() instead of accessing lfb_depth directly.

v5:
 * s/lfb_width/bpp/.
 * Grammar and typo tidy in the last patch.

Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Melissa Wen <mwen@igalia.com>
Cc: linux-efi@vger.kernel.org

Tvrtko Ursulin (4):
  efi: sysfb_efi: Replace open coded swap with the macro
  efi: sysfb_efi: Fix lfb_linelength calculation when applying quirks
  efi: sysfb_efi: Convert swap width and height quirk to a callback
  efi: sysfb_efi: Fix efidrmfb and simpledrmfb on Valve Steam Deck

 drivers/firmware/efi/sysfb_efi.c | 73 ++++++++++++++++++++++++++++----
 1 file changed, 65 insertions(+), 8 deletions(-)

-- 
2.52.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v5 1/4] efi: sysfb_efi: Replace open coded swap with the macro
  2025-12-08 19:39 [PATCH v5 0/4] EFI fbcon fixes etc Tvrtko Ursulin
@ 2025-12-08 19:39 ` Tvrtko Ursulin
  2025-12-08 19:39 ` [PATCH v5 2/4] efi: sysfb_efi: Fix lfb_linelength calculation when applying quirks Tvrtko Ursulin
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Tvrtko Ursulin @ 2025-12-08 19:39 UTC (permalink / raw)
  To: dri-devel
  Cc: kernel-dev, Tvrtko Ursulin, Thomas Zimmermann, Ard Biesheuvel,
	Melissa Wen, linux-efi

From: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>

Replace the open coded width height swap with the standard macro.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Suggested-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Melissa Wen <mwen@igalia.com>
Cc: linux-efi@vger.kernel.org
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Tested-by: Melissa Wen <mwen@igalia.com> # v3
---
 drivers/firmware/efi/sysfb_efi.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/firmware/efi/sysfb_efi.c b/drivers/firmware/efi/sysfb_efi.c
index 1e509595ac03..1d8b6966731c 100644
--- a/drivers/firmware/efi/sysfb_efi.c
+++ b/drivers/firmware/efi/sysfb_efi.c
@@ -357,10 +357,7 @@ __init void sysfb_apply_efi_quirks(void)
 
 	if (screen_info.orig_video_isVGA == VIDEO_TYPE_EFI &&
 	    dmi_check_system(efifb_dmi_swap_width_height)) {
-		u16 temp = screen_info.lfb_width;
-
-		screen_info.lfb_width = screen_info.lfb_height;
-		screen_info.lfb_height = temp;
+		swap(screen_info.lfb_width, screen_info.lfb_height);
 		screen_info.lfb_linelength = 4 * screen_info.lfb_width;
 	}
 }
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v5 2/4] efi: sysfb_efi: Fix lfb_linelength calculation when applying quirks
  2025-12-08 19:39 [PATCH v5 0/4] EFI fbcon fixes etc Tvrtko Ursulin
  2025-12-08 19:39 ` [PATCH v5 1/4] efi: sysfb_efi: Replace open coded swap with the macro Tvrtko Ursulin
@ 2025-12-08 19:39 ` Tvrtko Ursulin
  2025-12-09  6:20   ` Thomas Zimmermann
  2025-12-08 19:39 ` [PATCH v5 3/4] efi: sysfb_efi: Convert swap width and height quirk to a callback Tvrtko Ursulin
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 8+ messages in thread
From: Tvrtko Ursulin @ 2025-12-08 19:39 UTC (permalink / raw)
  To: dri-devel
  Cc: kernel-dev, Tvrtko Ursulin, Thomas Zimmermann, Ard Biesheuvel,
	Melissa Wen, linux-efi

From: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>

PIXEL_BIT_MASK formats can have either less or more than four bytes per
pixel so lets fix the lfb_linelenght calculation when applying the
swapped width and height quirks.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Suggested-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Melissa Wen <mwen@igalia.com>
Cc: linux-efi@vger.kernel.org
Tested-by: Melissa Wen <mwen@igalia.com> # v3
---
 drivers/firmware/efi/sysfb_efi.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/firmware/efi/sysfb_efi.c b/drivers/firmware/efi/sysfb_efi.c
index 1d8b6966731c..60495eb3441c 100644
--- a/drivers/firmware/efi/sysfb_efi.c
+++ b/drivers/firmware/efi/sysfb_efi.c
@@ -357,8 +357,11 @@ __init void sysfb_apply_efi_quirks(void)
 
 	if (screen_info.orig_video_isVGA == VIDEO_TYPE_EFI &&
 	    dmi_check_system(efifb_dmi_swap_width_height)) {
+		u32 bpp = __screen_info_lfb_bits_per_pixel(&screen_info);
+
 		swap(screen_info.lfb_width, screen_info.lfb_height);
-		screen_info.lfb_linelength = 4 * screen_info.lfb_width;
+		screen_info.lfb_linelength = bpp * screen_info.lfb_width /
+					     BITS_PER_BYTE;
 	}
 }
 
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v5 3/4] efi: sysfb_efi: Convert swap width and height quirk to a callback
  2025-12-08 19:39 [PATCH v5 0/4] EFI fbcon fixes etc Tvrtko Ursulin
  2025-12-08 19:39 ` [PATCH v5 1/4] efi: sysfb_efi: Replace open coded swap with the macro Tvrtko Ursulin
  2025-12-08 19:39 ` [PATCH v5 2/4] efi: sysfb_efi: Fix lfb_linelength calculation when applying quirks Tvrtko Ursulin
@ 2025-12-08 19:39 ` Tvrtko Ursulin
  2025-12-08 19:39 ` [PATCH v5 4/4] efi: sysfb_efi: Fix efidrmfb and simpledrmfb on Valve Steam Deck Tvrtko Ursulin
  2025-12-09  2:05 ` [PATCH v5 0/4] EFI fbcon fixes etc Ard Biesheuvel
  4 siblings, 0 replies; 8+ messages in thread
From: Tvrtko Ursulin @ 2025-12-08 19:39 UTC (permalink / raw)
  To: dri-devel
  Cc: kernel-dev, Tvrtko Ursulin, Ard Biesheuvel, Thomas Zimmermann,
	Melissa Wen, linux-efi

From: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>

Convert the swapping of width and height quirk to a callback.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Suggested-by: Ard Biesheuvel <ardb@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Melissa Wen <mwen@igalia.com>
Cc: linux-efi@vger.kernel.org
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Tested-by: Melissa Wen <mwen@igalia.com> # v3
---
 drivers/firmware/efi/sysfb_efi.c | 26 ++++++++++++++++++--------
 1 file changed, 18 insertions(+), 8 deletions(-)

diff --git a/drivers/firmware/efi/sysfb_efi.c b/drivers/firmware/efi/sysfb_efi.c
index 60495eb3441c..85f6399d5e1f 100644
--- a/drivers/firmware/efi/sysfb_efi.c
+++ b/drivers/firmware/efi/sysfb_efi.c
@@ -231,6 +231,17 @@ static const struct dmi_system_id efifb_dmi_system_table[] __initconst = {
 	{},
 };
 
+static int __init efifb_swap_width_height(const struct dmi_system_id *id)
+{
+	u32 bpp = __screen_info_lfb_bits_per_pixel(&screen_info);
+
+	swap(screen_info.lfb_width, screen_info.lfb_height);
+	screen_info.lfb_linelength = bpp * screen_info.lfb_width /
+				     BITS_PER_BYTE;
+
+	return 1;
+}
+
 /*
  * Some devices have a portrait LCD but advertise a landscape resolution (and
  * pitch). We simply swap width and height for these devices so that we can
@@ -248,6 +259,7 @@ static const struct dmi_system_id efifb_dmi_swap_width_height[] __initconst = {
 			DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "MIIX 310-10ICR"),
 			DMI_EXACT_MATCH(DMI_BIOS_VERSION, "1HCN44WW"),
 		},
+		.callback = efifb_swap_width_height,
 	},
 	{
 		/* Lenovo MIIX 320-10ICR with 800x1280 portrait screen */
@@ -256,6 +268,7 @@ static const struct dmi_system_id efifb_dmi_swap_width_height[] __initconst = {
 			DMI_EXACT_MATCH(DMI_PRODUCT_VERSION,
 					"Lenovo MIIX 320-10ICR"),
 		},
+		.callback = efifb_swap_width_height,
 	},
 	{
 		/* Lenovo D330 with 800x1280 or 1200x1920 portrait screen */
@@ -264,6 +277,7 @@ static const struct dmi_system_id efifb_dmi_swap_width_height[] __initconst = {
 			DMI_EXACT_MATCH(DMI_PRODUCT_VERSION,
 					"Lenovo ideapad D330-10IGM"),
 		},
+		.callback = efifb_swap_width_height,
 	},
 	{
 		/* Lenovo IdeaPad Duet 3 10IGL5 with 1200x1920 portrait screen */
@@ -272,6 +286,7 @@ static const struct dmi_system_id efifb_dmi_swap_width_height[] __initconst = {
 			DMI_EXACT_MATCH(DMI_PRODUCT_VERSION,
 					"IdeaPad Duet 3 10IGL5"),
 		},
+		.callback = efifb_swap_width_height,
 	},
 	{
 		/* Lenovo Yoga Book X91F / X91L */
@@ -280,6 +295,7 @@ static const struct dmi_system_id efifb_dmi_swap_width_height[] __initconst = {
 			/* Non exact match to match F + L versions */
 			DMI_MATCH(DMI_PRODUCT_NAME, "Lenovo YB1-X91"),
 		},
+		.callback = efifb_swap_width_height,
 	},
 	{},
 };
@@ -355,14 +371,8 @@ __init void sysfb_apply_efi_quirks(void)
 	    !(screen_info.capabilities & VIDEO_CAPABILITY_SKIP_QUIRKS))
 		dmi_check_system(efifb_dmi_system_table);
 
-	if (screen_info.orig_video_isVGA == VIDEO_TYPE_EFI &&
-	    dmi_check_system(efifb_dmi_swap_width_height)) {
-		u32 bpp = __screen_info_lfb_bits_per_pixel(&screen_info);
-
-		swap(screen_info.lfb_width, screen_info.lfb_height);
-		screen_info.lfb_linelength = bpp * screen_info.lfb_width /
-					     BITS_PER_BYTE;
-	}
+	if (screen_info.orig_video_isVGA == VIDEO_TYPE_EFI)
+		dmi_check_system(efifb_dmi_swap_width_height);
 }
 
 __init void sysfb_set_efifb_fwnode(struct platform_device *pd)
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v5 4/4] efi: sysfb_efi: Fix efidrmfb and simpledrmfb on Valve Steam Deck
  2025-12-08 19:39 [PATCH v5 0/4] EFI fbcon fixes etc Tvrtko Ursulin
                   ` (2 preceding siblings ...)
  2025-12-08 19:39 ` [PATCH v5 3/4] efi: sysfb_efi: Convert swap width and height quirk to a callback Tvrtko Ursulin
@ 2025-12-08 19:39 ` Tvrtko Ursulin
  2025-12-09  2:05 ` [PATCH v5 0/4] EFI fbcon fixes etc Ard Biesheuvel
  4 siblings, 0 replies; 8+ messages in thread
From: Tvrtko Ursulin @ 2025-12-08 19:39 UTC (permalink / raw)
  To: dri-devel
  Cc: kernel-dev, Tvrtko Ursulin, Thomas Zimmermann, Ard Biesheuvel,
	Melissa Wen, linux-efi

From: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>

Valve Steam Deck has a 800x1280 portrait screen installed in a landscape
orientation. The firmware offers a software-rotated 1280x800 mode, which
GRUB can be made to switch to when displaying a boot menu. If this mode
was selected frame buffer drivers will see this fake mode and fbcon
rendering will be corrupted.

Let us therefore add a selective quirk inside the current "swap with and
height" handling, which will detect this exact mode and fix it up back to
the native one.

This will allow the DRM-based framebuffer drivers to detect the correct
mode, apply the existing panel orientation quirk, and render the console
in landscape mode with no corruption.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Melissa Wen <mwen@igalia.com>
Cc: linux-efi@vger.kernel.org
Tested-by: Melissa Wen <mwen@igalia.com> # v3
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/firmware/efi/sysfb_efi.c | 47 ++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/drivers/firmware/efi/sysfb_efi.c b/drivers/firmware/efi/sysfb_efi.c
index 85f6399d5e1f..88e4fd4b0a3f 100644
--- a/drivers/firmware/efi/sysfb_efi.c
+++ b/drivers/firmware/efi/sysfb_efi.c
@@ -242,6 +242,33 @@ static int __init efifb_swap_width_height(const struct dmi_system_id *id)
 	return 1;
 }
 
+struct efifb_mode_fixup {
+	unsigned int width;
+	unsigned int height;
+	unsigned int linelength;
+};
+
+static int __init
+efifb_check_and_swap_width_height(const struct dmi_system_id *id)
+{
+	const struct efifb_mode_fixup *data = id->driver_data;
+
+	if (data->width == screen_info.lfb_width &&
+	    data->height == screen_info.lfb_height) {
+		swap(screen_info.lfb_width, screen_info.lfb_height);
+		screen_info.lfb_linelength = data->linelength;
+		screen_info.lfb_size = data->linelength * data->width;
+	}
+
+	return 1;
+}
+
+static const struct efifb_mode_fixup efifb_steamdeck_mode_fixup __initconst = {
+	.width = 1280,
+	.height = 800,
+	.linelength = 3328,
+};
+
 /*
  * Some devices have a portrait LCD but advertise a landscape resolution (and
  * pitch). We simply swap width and height for these devices so that we can
@@ -297,6 +324,26 @@ static const struct dmi_system_id efifb_dmi_swap_width_height[] __initconst = {
 		},
 		.callback = efifb_swap_width_height,
 	},
+	{
+		/* Valve Steam Deck (Jupiter) */
+		.matches = {
+			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Valve"),
+			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Jupiter"),
+			DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "1"),
+		},
+		.callback = efifb_check_and_swap_width_height,
+		.driver_data = (void *)&efifb_steamdeck_mode_fixup,
+	},
+	{
+		/* Valve Steam Deck (Galileo) */
+		.matches = {
+			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Valve"),
+			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Galileo"),
+			DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "1"),
+		},
+		.callback = efifb_check_and_swap_width_height,
+		.driver_data = (void *)&efifb_steamdeck_mode_fixup,
+	},
 	{},
 };
 
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v5 0/4] EFI fbcon fixes etc
  2025-12-08 19:39 [PATCH v5 0/4] EFI fbcon fixes etc Tvrtko Ursulin
                   ` (3 preceding siblings ...)
  2025-12-08 19:39 ` [PATCH v5 4/4] efi: sysfb_efi: Fix efidrmfb and simpledrmfb on Valve Steam Deck Tvrtko Ursulin
@ 2025-12-09  2:05 ` Ard Biesheuvel
  2025-12-16 13:24   ` Ard Biesheuvel
  4 siblings, 1 reply; 8+ messages in thread
From: Ard Biesheuvel @ 2025-12-09  2:05 UTC (permalink / raw)
  To: Tvrtko Ursulin
  Cc: dri-devel, kernel-dev, Tvrtko Ursulin, Thomas Zimmermann,
	Melissa Wen, linux-efi

On Tue, 9 Dec 2025 at 04:39, Tvrtko Ursulin <tursulin@igalia.com> wrote:
>
> From: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
>
> Two generic fixes split out for easy review, one refactoring as requested, and
> then the last patch is the panel/mode quirk to allow for corruption free fbcon
> with simpledrmfb and efidrmfb on the Valve Steam Deck.
>
> v2:
>  * s/unsigned/unsigned int/
>  * s/pitch/linelength/
>  * Removed comment explaining the Steam Deck quirk.
>  * Added patch to refactor quirk application via callbacks.
>
> v3:
>  * Added forgotten __initconst.
>  * Use separate callback for the fixup quirk.
>
> v4:
>  * Use __screen_info_lfb_bits_per_pixel() instead of accessing lfb_depth directly.
>
> v5:
>  * s/lfb_width/bpp/.
>  * Grammar and typo tidy in the last patch.
>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: Ard Biesheuvel <ardb@kernel.org>
> Cc: Melissa Wen <mwen@igalia.com>
> Cc: linux-efi@vger.kernel.org
>
> Tvrtko Ursulin (4):
>   efi: sysfb_efi: Replace open coded swap with the macro
>   efi: sysfb_efi: Fix lfb_linelength calculation when applying quirks
>   efi: sysfb_efi: Convert swap width and height quirk to a callback
>   efi: sysfb_efi: Fix efidrmfb and simpledrmfb on Valve Steam Deck
>
>  drivers/firmware/efi/sysfb_efi.c | 73 ++++++++++++++++++++++++++++----
>  1 file changed, 65 insertions(+), 8 deletions(-)
>

This looks fine to me now. Unless there are more comments, I intend to
get this queued up as soon as -rc1 comes around.

Thanks

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v5 2/4] efi: sysfb_efi: Fix lfb_linelength calculation when applying quirks
  2025-12-08 19:39 ` [PATCH v5 2/4] efi: sysfb_efi: Fix lfb_linelength calculation when applying quirks Tvrtko Ursulin
@ 2025-12-09  6:20   ` Thomas Zimmermann
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Zimmermann @ 2025-12-09  6:20 UTC (permalink / raw)
  To: Tvrtko Ursulin, dri-devel
  Cc: kernel-dev, Tvrtko Ursulin, Ard Biesheuvel, Melissa Wen,
	linux-efi



Am 08.12.25 um 20:39 schrieb Tvrtko Ursulin:
> From: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
>
> PIXEL_BIT_MASK formats can have either less or more than four bytes per
> pixel so lets fix the lfb_linelenght calculation when applying the
> swapped width and height quirks.
>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
> Suggested-by: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: Ard Biesheuvel <ardb@kernel.org>
> Cc: Melissa Wen <mwen@igalia.com>
> Cc: linux-efi@vger.kernel.org
> Tested-by: Melissa Wen <mwen@igalia.com> # v3

Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>

> ---
>   drivers/firmware/efi/sysfb_efi.c | 5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/firmware/efi/sysfb_efi.c b/drivers/firmware/efi/sysfb_efi.c
> index 1d8b6966731c..60495eb3441c 100644
> --- a/drivers/firmware/efi/sysfb_efi.c
> +++ b/drivers/firmware/efi/sysfb_efi.c
> @@ -357,8 +357,11 @@ __init void sysfb_apply_efi_quirks(void)
>   
>   	if (screen_info.orig_video_isVGA == VIDEO_TYPE_EFI &&
>   	    dmi_check_system(efifb_dmi_swap_width_height)) {
> +		u32 bpp = __screen_info_lfb_bits_per_pixel(&screen_info);
> +
>   		swap(screen_info.lfb_width, screen_info.lfb_height);
> -		screen_info.lfb_linelength = 4 * screen_info.lfb_width;
> +		screen_info.lfb_linelength = bpp * screen_info.lfb_width /
> +					     BITS_PER_BYTE;
>   	}
>   }
>   

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Jochen Jaser, Andrew McDonald, Werner Knoblich, (HRB 36809, AG Nürnberg)



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v5 0/4] EFI fbcon fixes etc
  2025-12-09  2:05 ` [PATCH v5 0/4] EFI fbcon fixes etc Ard Biesheuvel
@ 2025-12-16 13:24   ` Ard Biesheuvel
  0 siblings, 0 replies; 8+ messages in thread
From: Ard Biesheuvel @ 2025-12-16 13:24 UTC (permalink / raw)
  To: Tvrtko Ursulin
  Cc: dri-devel, kernel-dev, Tvrtko Ursulin, Thomas Zimmermann,
	Melissa Wen, linux-efi

On Tue, 9 Dec 2025 at 03:05, Ard Biesheuvel <ardb@kernel.org> wrote:
>
> On Tue, 9 Dec 2025 at 04:39, Tvrtko Ursulin <tursulin@igalia.com> wrote:
> >
> > From: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
> >
> > Two generic fixes split out for easy review, one refactoring as requested, and
> > then the last patch is the panel/mode quirk to allow for corruption free fbcon
> > with simpledrmfb and efidrmfb on the Valve Steam Deck.
> >
> > v2:
> >  * s/unsigned/unsigned int/
> >  * s/pitch/linelength/
> >  * Removed comment explaining the Steam Deck quirk.
> >  * Added patch to refactor quirk application via callbacks.
> >
> > v3:
> >  * Added forgotten __initconst.
> >  * Use separate callback for the fixup quirk.
> >
> > v4:
> >  * Use __screen_info_lfb_bits_per_pixel() instead of accessing lfb_depth directly.
> >
> > v5:
> >  * s/lfb_width/bpp/.
> >  * Grammar and typo tidy in the last patch.
> >
> > Cc: Thomas Zimmermann <tzimmermann@suse.de>
> > Cc: Ard Biesheuvel <ardb@kernel.org>
> > Cc: Melissa Wen <mwen@igalia.com>
> > Cc: linux-efi@vger.kernel.org
> >
> > Tvrtko Ursulin (4):
> >   efi: sysfb_efi: Replace open coded swap with the macro
> >   efi: sysfb_efi: Fix lfb_linelength calculation when applying quirks
> >   efi: sysfb_efi: Convert swap width and height quirk to a callback
> >   efi: sysfb_efi: Fix efidrmfb and simpledrmfb on Valve Steam Deck
> >
> >  drivers/firmware/efi/sysfb_efi.c | 73 ++++++++++++++++++++++++++++----
> >  1 file changed, 65 insertions(+), 8 deletions(-)
> >
>
> This looks fine to me now. Unless there are more comments, I intend to
> get this queued up as soon as -rc1 comes around.
>

Queued up now, thanks.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-12-16 13:24 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-08 19:39 [PATCH v5 0/4] EFI fbcon fixes etc Tvrtko Ursulin
2025-12-08 19:39 ` [PATCH v5 1/4] efi: sysfb_efi: Replace open coded swap with the macro Tvrtko Ursulin
2025-12-08 19:39 ` [PATCH v5 2/4] efi: sysfb_efi: Fix lfb_linelength calculation when applying quirks Tvrtko Ursulin
2025-12-09  6:20   ` Thomas Zimmermann
2025-12-08 19:39 ` [PATCH v5 3/4] efi: sysfb_efi: Convert swap width and height quirk to a callback Tvrtko Ursulin
2025-12-08 19:39 ` [PATCH v5 4/4] efi: sysfb_efi: Fix efidrmfb and simpledrmfb on Valve Steam Deck Tvrtko Ursulin
2025-12-09  2:05 ` [PATCH v5 0/4] EFI fbcon fixes etc Ard Biesheuvel
2025-12-16 13:24   ` Ard Biesheuvel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).