Re: [PATCH] firmware/sysfb: Fix wrong stride when bits-per-pixel is calculated

From: Pierre Asselin
Date: Wed Apr 12 2023 - 12:18:41 EST


> The commit f35cd3fa7729 ("firmware/sysfb: Fix EFI/VESA format selection")
> fixed format selection, by calculating the bits-per-pixel instead of just
> using the reported color depth.
>
> But unfortunately this broke some modes because the stride is always set
> to the reported line length (in bytes), which could not match the actual
> stride if the calculated bits-per-pixel doesn't match the reported depth.
>
> Fixes: f35cd3fa7729 ("firmware/sysfb: Fix EFI/VESA format selection")
> Reported-by: Pierre Asselin <pa@xxxxxxxxx>
> Signed-off-by: Javier Martinez Canillas <javierm@xxxxxxxxxx>
> ---
>
> drivers/firmware/sysfb_simplefb.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/firmware/sysfb_simplefb.c
> b/drivers/firmware/sysfb_simplefb.c
> index 82c64cb9f531..5dc23e57089f 100644
> --- a/drivers/firmware/sysfb_simplefb.c
> +++ b/drivers/firmware/sysfb_simplefb.c
>
> [patch elided]

NOOOOOO ! The 1024x768x32 screen is all garbled.
(gfxpayload=keep, gfxpayload=1024x768x32 or vga=0x318).

The other modes work as before (but the dmesg has less information;
I'll investigate.)