drm: panel-orientation-quirks: Add quirk for GPD pocket2
authorHans de Goede <hdegoede@redhat.com>
Fri, 24 May 2019 12:57:58 +0000 (14:57 +0200)
committerHans de Goede <hdegoede@redhat.com>
Sat, 8 Jun 2019 13:06:49 +0000 (15:06 +0200)
GPD has done it again, make a nice device (good), use way too generic
DMI strings (bad) and use a portrait screen rotated 90 degrees (ugly).

Because of the too generic DMI strings this entry is also doing bios-date
matching, so the gpd_pocket2 data struct may very well need to be updated
with some extra bios-dates in the future.

Changes in v2:
-Add one more known BIOS date to the list of BIOS dates

Cc: Jurgen Kramer <gtmkramer@xs4all.nl>
Reported-by: Jurgen Kramer <gtmkramer@xs4all.nl>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190524125759.14131-1-hdegoede@redhat.com
(cherry picked from commit 6dab9102dd7b144e5723915438e0d6c473018cd0)

drivers/gpu/drm/drm_panel_orientation_quirks.c

index 521aff99b08a6aff22f463635c0d4395d23bacf6..98679c831f666de81c433cb1450b3d4d29cdcca6 100644 (file)
@@ -50,6 +50,14 @@ static const struct drm_dmi_panel_orientation_data gpd_pocket = {
        .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
 };
 
+static const struct drm_dmi_panel_orientation_data gpd_pocket2 = {
+       .width = 1200,
+       .height = 1920,
+       .bios_dates = (const char * const []){ "06/28/2018", "08/28/2018",
+               "12/07/2018", NULL },
+       .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
+};
+
 static const struct drm_dmi_panel_orientation_data gpd_win = {
        .width = 720,
        .height = 1280,
@@ -112,6 +120,14 @@ static const struct dmi_system_id orientation_data[] = {
                  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Default string"),
                },
                .driver_data = (void *)&gpd_pocket,
+       }, {    /* GPD Pocket 2 (generic strings, also match on bios date) */
+               .matches = {
+                 DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Default string"),
+                 DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Default string"),
+                 DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "Default string"),
+                 DMI_EXACT_MATCH(DMI_BOARD_NAME, "Default string"),
+               },
+               .driver_data = (void *)&gpd_pocket2,
        }, {    /* GPD Win (same note on DMI match as GPD Pocket) */
                .matches = {
                  DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),