drm: Add orientation quirk for DynaBook K50

Message ID 20221130170811.1.Iee9a494547541dade9eeee9521cc8b811e76a8a0@changeid
State New
Headers
Series drm: Add orientation quirk for DynaBook K50 |

Commit Message

Allen Ballway Nov. 30, 2022, 5:08 p.m. UTC
  Like the ASUS T100HAN for which there is already a quirk,
the DynaBook K50 has a 800x1280 portrait screen mounted
in the tablet part of a landscape oriented 2-in-1.
Update the quirk to be more generic and apply to this device.

Signed-off-by: Allen Ballway <ballway@chromium.org>
---

 .../gpu/drm/drm_panel_orientation_quirks.c    | 20 ++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

--
2.38.1.584.g0f3c55d4c2-goog
  

Comments

Hans de Goede Dec. 7, 2022, 5:03 p.m. UTC | #1
Hi,

On 11/30/22 18:08, Allen Ballway wrote:
> Like the ASUS T100HAN for which there is already a quirk,
> the DynaBook K50 has a 800x1280 portrait screen mounted
> in the tablet part of a landscape oriented 2-in-1.
> Update the quirk to be more generic and apply to this device.
> 
> Signed-off-by: Allen Ballway <ballway@chromium.org>

Thanks, patch looks good to me:

Reviewed-by: Hans de Goede <hdegoede@redhat.com>

I've pushed this to drm-misc-next now.

Regards,

Hans




> ---
> 
>  .../gpu/drm/drm_panel_orientation_quirks.c    | 20 ++++++++++++-------
>  1 file changed, 13 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_panel_orientation_quirks.c b/drivers/gpu/drm/drm_panel_orientation_quirks.c
> index 52d8800a8ab86..14f870fb2db04 100644
> --- a/drivers/gpu/drm/drm_panel_orientation_quirks.c
> +++ b/drivers/gpu/drm/drm_panel_orientation_quirks.c
> @@ -30,12 +30,6 @@ struct drm_dmi_panel_orientation_data {
>  	int orientation;
>  };
> 
> -static const struct drm_dmi_panel_orientation_data asus_t100ha = {
> -	.width = 800,
> -	.height = 1280,
> -	.orientation = DRM_MODE_PANEL_ORIENTATION_LEFT_UP,
> -};
> -
>  static const struct drm_dmi_panel_orientation_data gpd_micropc = {
>  	.width = 720,
>  	.height = 1280,
> @@ -121,6 +115,12 @@ static const struct drm_dmi_panel_orientation_data lcd1280x1920_rightside_up = {
>  	.orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
>  };
> 
> +static const struct drm_dmi_panel_orientation_data lcd800x1280_leftside_up = {
> +	.width = 800,
> +	.height = 1280,
> +	.orientation = DRM_MODE_PANEL_ORIENTATION_LEFT_UP,
> +};
> +
>  static const struct drm_dmi_panel_orientation_data lcd1600x2560_leftside_up = {
>  	.width = 1600,
>  	.height = 2560,
> @@ -151,7 +151,7 @@ static const struct dmi_system_id orientation_data[] = {
>  		  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
>  		  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "T100HAN"),
>  		},
> -		.driver_data = (void *)&asus_t100ha,
> +		.driver_data = (void *)&lcd800x1280_leftside_up,
>  	}, {	/* Asus T101HA */
>  		.matches = {
>  		  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
> @@ -196,6 +196,12 @@ static const struct dmi_system_id orientation_data[] = {
>  		  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Hi10 pro tablet"),
>  		},
>  		.driver_data = (void *)&lcd1200x1920_rightside_up,
> +	}, {	/* Dynabook K50 */
> +		.matches = {
> +		  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Dynabook Inc."),
> +		  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "dynabook K50/FR"),
> +		},
> +		.driver_data = (void *)&lcd800x1280_leftside_up,
>  	}, {	/* GPD MicroPC (generic strings, also match on bios date) */
>  		.matches = {
>  		  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Default string"),
> --
> 2.38.1.584.g0f3c55d4c2-goog
>
  

Patch

diff --git a/drivers/gpu/drm/drm_panel_orientation_quirks.c b/drivers/gpu/drm/drm_panel_orientation_quirks.c
index 52d8800a8ab86..14f870fb2db04 100644
--- a/drivers/gpu/drm/drm_panel_orientation_quirks.c
+++ b/drivers/gpu/drm/drm_panel_orientation_quirks.c
@@ -30,12 +30,6 @@  struct drm_dmi_panel_orientation_data {
 	int orientation;
 };

-static const struct drm_dmi_panel_orientation_data asus_t100ha = {
-	.width = 800,
-	.height = 1280,
-	.orientation = DRM_MODE_PANEL_ORIENTATION_LEFT_UP,
-};
-
 static const struct drm_dmi_panel_orientation_data gpd_micropc = {
 	.width = 720,
 	.height = 1280,
@@ -121,6 +115,12 @@  static const struct drm_dmi_panel_orientation_data lcd1280x1920_rightside_up = {
 	.orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
 };

+static const struct drm_dmi_panel_orientation_data lcd800x1280_leftside_up = {
+	.width = 800,
+	.height = 1280,
+	.orientation = DRM_MODE_PANEL_ORIENTATION_LEFT_UP,
+};
+
 static const struct drm_dmi_panel_orientation_data lcd1600x2560_leftside_up = {
 	.width = 1600,
 	.height = 2560,
@@ -151,7 +151,7 @@  static const struct dmi_system_id orientation_data[] = {
 		  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
 		  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "T100HAN"),
 		},
-		.driver_data = (void *)&asus_t100ha,
+		.driver_data = (void *)&lcd800x1280_leftside_up,
 	}, {	/* Asus T101HA */
 		.matches = {
 		  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
@@ -196,6 +196,12 @@  static const struct dmi_system_id orientation_data[] = {
 		  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Hi10 pro tablet"),
 		},
 		.driver_data = (void *)&lcd1200x1920_rightside_up,
+	}, {	/* Dynabook K50 */
+		.matches = {
+		  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Dynabook Inc."),
+		  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "dynabook K50/FR"),
+		},
+		.driver_data = (void *)&lcd800x1280_leftside_up,
 	}, {	/* GPD MicroPC (generic strings, also match on bios date) */
 		.matches = {
 		  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Default string"),