Re: [PATCH RESEND] drm: panel-orientation-quirks: Add quirk for Lenovo Ideapad D330

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Lenovo Ideapad D330 Pentium CPU version has 1920x1200 LCD. Console
output gets rotated at boot as Miix 310.

Also nuke all the (void *)s in driver_data assignment.

 Signed-off-by: David Santamaría Rogado <howl.nsp@xxxxxxxxx>
---
 .../gpu/drm/drm_panel_orientation_quirks.c    | 31 +++++++++++++------
 1 file changed, 22 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/drm_panel_orientation_quirks.c
b/drivers/gpu/drm/drm_panel_orientation_quirks.c
index 52e445bb1aa58..835574e2d5bf7 100644
--- a/drivers/gpu/drm/drm_panel_orientation_quirks.c
+++ b/drivers/gpu/drm/drm_panel_orientation_quirks.c
@@ -80,19 +80,25 @@ static const struct drm_dmi_panel_orientation_data
lcd800x1280_rightside_up = {
  .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
 };

+static const struct drm_dmi_panel_orientation_data
lcd1200x1920_rightside_up = {
+ .width = 1200,
+ .height = 1920,
+ .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
+};
+
 static const struct dmi_system_id orientation_data[] = {
  { /* Acer One 10 (S1003) */
  .matches = {
   DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Acer"),
   DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "One S1003"),
  },
- .driver_data = (void *)&acer_s1003,
+ .driver_data = &acer_s1003,
  }, { /* Asus T100HA */
  .matches = {
   DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
   DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "T100HAN"),
  },
- .driver_data = (void *)&asus_t100ha,
+ .driver_data = &asus_t100ha,
  }, { /*
  * GPD Pocket, note that the the DMI data is less generic then
  * it seems, devices with a board-vendor of "AMI Corporation"
@@ -105,7 +111,7 @@ static const struct dmi_system_id orientation_data[] = {
   DMI_EXACT_MATCH(DMI_BOARD_SERIAL, "Default string"),
   DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Default string"),
  },
- .driver_data = (void *)&gpd_pocket,
+ .driver_data = &gpd_pocket,
  }, { /* GPD Win (same note on DMI match as GPD Pocket) */
  .matches = {
   DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
@@ -113,7 +119,7 @@ static const struct dmi_system_id orientation_data[] = {
   DMI_EXACT_MATCH(DMI_BOARD_SERIAL, "Default string"),
   DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Default string"),
  },
- .driver_data = (void *)&gpd_win,
+ .driver_data = &gpd_win,
  }, { /* GPD Win 2 (too generic strings, also match on bios date) */
  .matches = {
   DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Default string"),
@@ -121,7 +127,7 @@ static const struct dmi_system_id orientation_data[] = {
   DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "Default string"),
   DMI_EXACT_MATCH(DMI_BOARD_NAME, "Default string"),
  },
- .driver_data = (void *)&gpd_win2,
+ .driver_data = &gpd_win2,
  }, { /* I.T.Works TW891 */
  .matches = {
   DMI_EXACT_MATCH(DMI_SYS_VENDOR, "To be filled by O.E.M."),
@@ -129,7 +135,14 @@ static const struct dmi_system_id orientation_data[] = {
   DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "To be filled by O.E.M."),
   DMI_EXACT_MATCH(DMI_BOARD_NAME, "TW891"),
  },
- .driver_data = (void *)&itworks_tw891,
+ .driver_data = &itworks_tw891,
+ }, { /* Lenovo Ideapad D330 */
+ .matches = {
+  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "81H3"),
+  DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Lenovo ideapad D330-10IGM"),
+ },
+ .driver_data = &lcd1200x1920_rightside_up,
  }, { /*
  * Lenovo Ideapad Miix 310 laptop, only some production batches
  * have a portrait screen, the resolution checks makes the quirk
@@ -140,20 +153,20 @@ static const struct dmi_system_id orientation_data[] = {
   DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "80SG"),
   DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "MIIX 310-10ICR"),
  },
- .driver_data = (void *)&lcd800x1280_rightside_up,
+ .driver_data = &lcd800x1280_rightside_up,
  }, { /* Lenovo Ideapad Miix 320 */
  .matches = {
   DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"),
   DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "80XF"),
   DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Lenovo MIIX 320-10ICR"),
  },
- .driver_data = (void *)&lcd800x1280_rightside_up,
+ .driver_data = &lcd800x1280_rightside_up,
  }, { /* VIOS LTH17 */
  .matches = {
   DMI_EXACT_MATCH(DMI_SYS_VENDOR, "VIOS"),
   DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "LTH17"),
  },
- .driver_data = (void *)&lcd800x1280_rightside_up,
+ .driver_data = &lcd800x1280_rightside_up,
  },
  {}
 };

El mar., 12 feb. 2019 a las 10:51, Jani Nikula
(<jani.nikula@xxxxxxxxxxxxxxx>) escribió:
>
> On Mon, 11 Feb 2019, David Santamaría Rogado <howl.nsp@xxxxxxxxx> wrote:
> > Lenovo Ideapad D330 Pentium CPU version has 1920x1200 LCD. Console
> > ouput gets rotated at boot as Miix 310.
> >
> > Signed-off-by: David Santamaría Rogado <howl.nsp@xxxxxxxxx>
> > ---
> >  drivers/gpu/drm/drm_panel_orientation_quirks.c | 13 +++++++++++++
> >  1 file changed, 13 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/drm_panel_orientation_quirks.c
> > b/drivers/gpu/drm/drm_panel_orientation_quirks.c
> > index 52e445bb1aa58..521aff99b08a6 100644
> > --- a/drivers/gpu/drm/drm_panel_orientation_quirks.c
> > +++ b/drivers/gpu/drm/drm_panel_orientation_quirks.c
> > @@ -80,6 +80,12 @@ static const struct drm_dmi_panel_orientation_data
> > lcd800x1280_rightside_up = {
> >   .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
> >  };
> >
> > +static const struct drm_dmi_panel_orientation_data
> > lcd1200x1920_rightside_up = {
> > + .width = 1200,
> > + .height = 1920,
> > + .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
> > +};
> > +
> >  static const struct dmi_system_id orientation_data[] = {
> >   { /* Acer One 10 (S1003) */
> >   .matches = {
> > @@ -148,6 +154,13 @@ static const struct dmi_system_id orientation_data[] = {
> >    DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Lenovo MIIX 320-10ICR"),
> >   },
> >   .driver_data = (void *)&lcd800x1280_rightside_up,
> > + }, { /* Lenovo Ideapad D330 */
> > + .matches = {
> > +  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> > +  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "81H3"),
> > +  DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Lenovo ideapad D330-10IGM"),
> > + },
> > + .driver_data = (void *)&lcd1200x1920_rightside_up,
>
> The (void *) cast is superfluous. I'd ack a patch nuking them all.
>
> BR,
> Jani.
>
>
> >   }, { /* VIOS LTH17 */
> >   .matches = {
> >    DMI_EXACT_MATCH(DMI_SYS_VENDOR, "VIOS"),
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@xxxxxxxxxxxxxxxxxxxxx
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
> --
> Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux