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]

 



On Tue, 12 Feb 2019, David Santamaría Rogado <howl.nsp@xxxxxxxxx> 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@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

-- 
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