Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [High] Removing the sysfb swap quirk entirely will break display rendering and panel orientation detection for Lenovo D330 devices running older firmware. --
commit 3f9b6b6dbd6e5dddf9820e6534eb1bfb33ccbc60 Author: Thomas Zimmermann <[email protected]> firmware/sysfb: Remove rotation quirk for Lenovo D330 This commit removes the DMI match for the Lenovo D330 in sysfb_efi.c, which previously swapped display width and height. The intent is to keep the display as-is so DRM drivers can pick the correct panel orientation. > diff --git a/drivers/firmware/efi/sysfb_efi.c > b/drivers/firmware/efi/sysfb_efi.c > --- a/drivers/firmware/efi/sysfb_efi.c > +++ b/drivers/firmware/efi/sysfb_efi.c [ ... ] > @@ -301,15 +301,6 @@ static const struct dmi_system_id > efifb_dmi_swap_width_height[] __initconst = { > }, > .callback = efifb_swap_width_height, > }, > - { > - /* Lenovo D330 with 800x1280 or 1200x1920 portrait screen */ > - .matches = { > - DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"), > - DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, > - "Lenovo ideapad D330-10IGM"), > - }, > - .callback = efifb_swap_width_height, > - }, [Severity: High] Will removing this DMI match entirely break display rendering for Lenovo D330 devices running older firmware? While newer BIOS versions correctly report the native portrait geometry (making the previous unconditional swap incorrect), older BIOS versions genuinely reported the wrong landscape EFI geometry and relied on this quirk to fix the lfb_width, lfb_height, and lfb_linelength fields. Unconditionally removing the DMI match appears to fix newer BIOSes but introduces a regression for older BIOSes where early boot framebuffers (sysfb/simpledrm) might use the incorrect EFI-reported dimensions. This can result in severely corrupted display output (garbage on screen) until a native DRM driver loads. Since later patches in this series updating the panel orientation quirk logic do not correct the underlying fb_mode and fb_pitch used by drm_sysfb_mode(), would it be safer to retain the quirk but modify the callback to only swap if the reported width is greater than the height (e.g., if si->lfb_width > si->lfb_height)? -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=1
