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

From: Javier Martinez Canillas
Date: Thu Apr 13 2023 - 02:56:08 EST


"Pierre Asselin" <pa@xxxxxxxxx> writes:

[...]

> [ 3.343433] sysfb: si->rsvd_size 0 si->rsvd_pos 0

Thanks for confirming this. I was expected that as mentioned since it was
the only reasonable explanation for your problem.

[...]

> What if _depth is low but the rsvd_ are right ?
> Then _width and _linelength would be inconsistent with _depth but
> consistent with the recomputed bits_per_pixel ? How many ways can the
> firmware lie ?
>

I don't know. But in your case the firmware is not reporting the mode
correctly since it is setting a framebuffer of 1024x768 and xRGB but
is not reporting si->rsvd_size=8 and si->rsvd_pos=24 as it should.

One option is to have a DMI match table similar to what we already have
for EFI machines in drivers/firmware/efi/sysfb_efi.c but also for BIOS.

The question then is if we can trust other systems to report a proper
rsvd_size and rsvd_pos...

> We need more testers, don't we ?
>

It's tricky, yes.

--
Best regards,

Javier Martinez Canillas
Core Platforms
Red Hat