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

From: Pierre Asselin
Date: Wed Apr 12 2023 - 17:53:30 EST


> Javier Martinez Canillas <javierm@xxxxxxxxxx> writes:
>
> I still don't understand why this particular configuration didn't work...
>
> The framebuffer starts at 0xd8000000 and has a size of 0x240000 bytes, so

Says who ? It's the same grub, same video mode as before the regression,
so the size is probably 0x300000 like it always was.

> a r8g8b8 pixel format with resolution 1024x768 should be correct. Since is
> 1024 * 768 * (24 / 8) = 2359296 = 0x240000.

That is internally consistent, but at variance with the video mode
set up by grub.

It is better to sqeeze bits by 4:3 on each line (regression) than to
scatter 4 logical lines across 3 physical lines (regression, patched) !

> Could you please apply the following diff that will print all the relevant
> fields from the screen_info that are used to calculate the bpp and stride.

YES ! I can't peer into that struct screen_info and I don't know to
write the printk's. (Hm, doesn't look too hard, but trust me, I would
fumble it.)

I'll back out the original patch first.
Stand by.

--PA