Skip to content

Commit 7d87ed7

Browse files
Hans de Goedeij-intel
authored andcommitted
platform/x86: touchscreen_dmi: Add quirk for y-inverted Goodix touchscreen on SUPI S10
The touchscreen on the SUPI S10 tablet reports inverted Y coordinates, causing touch input to be mirrored vertically relative to the display. Add a quirk to set the "touchscreen-inverted-y" boolean device-property on the touchscreen device, so that the goodix_ts driver will fixup the coordinates. Reported-by: Yajat Kumar <yajatapps3@gmail.com> Closes: https://lore.kernel.org/linux-input/20251230221639.582406-1-yajatapps3@gmail.com/ Tested-by: Yajat Kumar <yajatapps3@gmail.com> Signed-off-by: Hans de Goede <johannes.goede@oss.qualcomm.com> Link: https://patch.msgid.link/20260217132346.34535-1-johannes.goede@oss.qualcomm.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
1 parent 3c99a54 commit 7d87ed7

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

drivers/platform/x86/touchscreen_dmi.c

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,16 @@ static const struct ts_dmi_data gdix1002_upside_down_data = {
410410
.properties = gdix1001_upside_down_props,
411411
};
412412

413+
static const struct property_entry gdix1001_y_inverted_props[] = {
414+
PROPERTY_ENTRY_BOOL("touchscreen-inverted-y"),
415+
{ }
416+
};
417+
418+
static const struct ts_dmi_data gdix1001_y_inverted_data = {
419+
.acpi_name = "GDIX1001",
420+
.properties = gdix1001_y_inverted_props,
421+
};
422+
413423
static const struct property_entry gp_electronic_t701_props[] = {
414424
PROPERTY_ENTRY_U32("touchscreen-size-x", 960),
415425
PROPERTY_ENTRY_U32("touchscreen-size-y", 640),
@@ -1658,6 +1668,14 @@ const struct dmi_system_id touchscreen_dmi_table[] = {
16581668
DMI_MATCH(DMI_PRODUCT_SKU, "PN20170413488"),
16591669
},
16601670
},
1671+
{
1672+
/* SUPI S10 */
1673+
.driver_data = (void *)&gdix1001_y_inverted_data,
1674+
.matches = {
1675+
DMI_MATCH(DMI_SYS_VENDOR, "SUPI"),
1676+
DMI_MATCH(DMI_PRODUCT_NAME, "S10"),
1677+
},
1678+
},
16611679
{
16621680
/* Techbite Arc 11.6 */
16631681
.driver_data = (void *)&techbite_arc_11_6_data,

0 commit comments

Comments
 (0)