The kernel mis-interprets the display geometry given by the Lenovo D330 as incorrect. The values are correct, but the display output is rotated by 90°. With the kernel's firmware quirk applied the output is garbled.
Remove the firmware quirk for the Lenovo D330 and let DRM's sysfb drivers set the correct panel orientation instead. To make this work for any display mode, use the panel size for looking up the correct orientation. Tested on a Lenovo D330-10IGM IdeaPad. Thomas Zimmermann (3): drm/edid: Add drm_edid_get_preferred_size() drm/sysfb: Use preferred panel size for panel orientation quirks firmware/sysfb: Remove rotation quirk for Lenovo D330 drivers/firmware/efi/sysfb_efi.c | 9 ------- drivers/gpu/drm/drm_edid.c | 40 ++++++++++++++++++++++++++++++++ drivers/gpu/drm/sysfb/efidrm.c | 17 +++++++++++++- drivers/gpu/drm/sysfb/ofdrm.c | 16 ++++++++++++- drivers/gpu/drm/sysfb/vesadrm.c | 17 +++++++++++++- include/drm/drm_edid.h | 2 ++ 6 files changed, 89 insertions(+), 12 deletions(-) base-commit: dc462ab791b686c48545c160ecc81be64f77a846 -- 2.55.0
