On Wed, 3 Dec 2025 at 11:05, Thomas Zimmermann <[email protected]> wrote:
>
> Hi
>
> Am 03.12.25 um 10:07 schrieb Tvrtko Ursulin:
> > 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.
> >
> > Lets 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 frame buffer drivers to detect the correct
> > mode and, apply the existing panel orientation quirk, and render the
> > console in landscape mode with no corruption.
> >
> > Signed-off-by: Tvrtko Ursulin <[email protected]>
> > Cc: Thomas Zimmermann <[email protected]>
> > Cc: Ard Biesheuvel <[email protected]>
> > Cc: Melissa Wen <[email protected]>
> > Cc: [email protected]
> > ---
> >   drivers/firmware/efi/sysfb_efi.c | 56 +++++++++++++++++++++++++++++---
> >   1 file changed, 51 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/firmware/efi/sysfb_efi.c 
> > b/drivers/firmware/efi/sysfb_efi.c
> > index eacf9a50eab2..566492e67798 100644
> > --- a/drivers/firmware/efi/sysfb_efi.c
> > +++ b/drivers/firmware/efi/sysfb_efi.c
> > @@ -231,16 +231,42 @@ static const struct dmi_system_id 
> > efifb_dmi_system_table[] __initconst = {
> >       {},
> >   };
> >
> > +struct efifb_mode_fixup {
> > +     unsigned int width;
> > +     unsigned int height;
> > +     unsigned int linelength;
> > +};
> > +
> >   static int __init efifb_swap_width_height(const struct dmi_system_id *id)
>
> It's something different now. Can this please become a separate list
> with a separate callback?
>

Why? That means we have to introduce another dmi_check_system() call,
and manually implement the logic to ensure that it is not called
redundantly, i.e., after the first one already found a match.

Reply via email to