Re: drm: panel-orientation-quirks: Add quirk for Lenovo IdeaPad Duet 3 10IGL5

From: Darrell Kavanagh
Date: Wed Feb 08 2023 - 14:05:41 EST


I've resolved this by adding a matching quirk in
drivers/firmware/efi/sysfb_efi.c - see below.

Are you the right people to be notifying about this?

---
diff --git a/kernel/6.2-rc6 original/sysfb_efi.c b/kernel/6.2-rc6
changes/sysfb_efi.c
index 7882d4b..f06fdac 100755
--- a/kernel/6.2-rc6 original/sysfb_efi.c
+++ b/kernel/6.2-rc6 changes/sysfb_efi.c
@@ -264,6 +264,14 @@ static const struct dmi_system_id
efifb_dmi_swap_width_height[] __initconst = {
"Lenovo ideapad D330-10IGM"),
},
},
+ {
+ /* Lenovo IdeaPad Duet 3 10IGL5 with 1200x1920
portrait screen */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_VERSION,
+ "IdeaPad Duet 3 10IGL5"),
+ },
+ },
{},
};
---

Thanks,
Darrell

On Tue, 7 Feb 2023 at 15:51, Darrell Kavanagh
<darrell.kavanagh@xxxxxxxxx> wrote:
>
> Further information:
>
> With the above fix, the very early boot console messages are not
> rotated. adding "fbcon=rotate:1" to the kernel command line corrects
> this. But these early boot console messages are still garbled - it
> looks like the display driver in use at the time cannot write to the
> screen fast enough - lines are half-formed before scrolling.
>
> Note that this corrects itself and later boot messages are legible
> before the plymouth splash (if in use). I can't see anything that
> looks like useful information re the fb in journalctl immediately
> preceding the first legible output seen during boot.
>
> I've played around with console, earlycon and fbcon parms to no useful
> effect. Any ideas?
>
> Darrell
>
> On Fri, 3 Feb 2023 at 18:32, Darrell Kavanagh
> <darrell.kavanagh@xxxxxxxxx> wrote:
> >
> > Hi,
> >
> > This is another Lenovo with detachable keyboard and 1200x1920 screen
> > mounted sideways.
> >
> > The following has been tested with 6.2.0-rc6.
> >
> > Thanks,
> > Darrell
> >
> > index 3659f04..590bb7b 100644
> > --- a/kernel/drm_panel_orientation
> > _quirks.c
> > +++ b/kernel/linux-6.2-rc6/drivers/gpu/drm/drm_panel_orientation_quirks.c
> > @@ -304,6 +304,12 @@ static const struct dmi_system_id orientation_data[] = {
> > DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Lenovo ideapad
> > D330-10IGM"),
> > },
> > .driver_data = (void *)&lcd1200x1920_rightside_up,
> > + }, { /* Lenovo IdeaPad Duet 3 10IGL5 */
> > + .matches = {
> > + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> > + DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "IdeaPad Duet 3 10IGL5"),
> > + },
> > + .driver_data = (void *)&lcd1200x1920_rightside_up,
> > }, { /* Lenovo Ideapad D330-10IGL (HD) */
> > .matches = {
> > DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"),