diff mbox series

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

Message ID CAD4j4=AAMtieds0iS9v-sSpyhKGkU7jAGy5fkiLgBgxJX0UWEw@mail.gmail.com (mailing list archive)
State New, archived
Headers show
Series [RESEND] drm: panel-orientation-quirks: Add quirk for Lenovo Ideapad D330 | expand

Commit Message

David Santamaría Rogado Feb. 10, 2019, 11:16 p.m. UTC
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@gmail.com>
---
 drivers/gpu/drm/drm_panel_orientation_quirks.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

  { /* 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,
  }, { /* VIOS LTH17 */
  .matches = {
   DMI_EXACT_MATCH(DMI_SYS_VENDOR, "VIOS"),

Comments

kernel test robot via dri-devel Feb. 12, 2019, 9:53 a.m. UTC | #1
On Mon, 11 Feb 2019, David Santamaría Rogado <howl.nsp@gmail.com> 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@gmail.com>
> ---
>  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@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
kernel test robot via dri-devel Feb. 12, 2019, 7:25 p.m. UTC | #2
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@gmail.com>
---
 .../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@linux.intel.com>) escribió:
>
> On Mon, 11 Feb 2019, David Santamaría Rogado <howl.nsp@gmail.com> 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@gmail.com>
> > ---
> >  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@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
> --
> Jani Nikula, Intel Open Source Graphics Center
kernel test robot via dri-devel Feb. 13, 2019, 6:12 a.m. UTC | #3
On Tue, 12 Feb 2019, David Santamaría Rogado <howl.nsp@gmail.com> wrote:
> 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.

Err, I said I'd ack a patch removing all those superfluous cast, but I
didn't mean you should do that in the same patch adding a new
quirk. Sorry. Communication is hard. But cleanups and functional changes
should be separate.

BR,
Jani.


>
>  Signed-off-by: David Santamaría Rogado <howl.nsp@gmail.com> ---
>.../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@linux.intel.com>) escribió:
>>
>> On Mon, 11 Feb 2019, David Santamaría Rogado <howl.nsp@gmail.com> 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@gmail.com>
>> > ---
>> >  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@lists.freedesktop.org
>> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
>>
>> --
>> Jani Nikula, Intel Open Source Graphics Center
diff mbox series

Patch

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[] = {