[PATCH] Input: i8042 - enable dumbkbd quirk for HP 15-dy2xxx and 15s-fq2xxx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



These two sets of HP laptops have a long keyboard initialization delay due
to the controller not delivering interrupts correctly as previously
determined by Egor and Vojtech. For the 15-dy2044nr models I have at work
the issue persists even after manually updating the system firmware to the
latest revision from the Microsoft update catalog (15.21.0.0). Egor
submitted a patch for 15s-fq2xxx systems previously but it seems to have
been missed/forgotten, so I've included both here.

Link: https://lore.kernel.org/lkml/20210528154339.GA9116@xxxxxxxx/
Link: https://lore.kernel.org/all/20210609073333.8425-1-egori@xxxxxxxxxxxx/

Signed-off-by: gurevitch <mail@xxxxxxxxxx>
---
 drivers/input/serio/i8042-x86ia64io.h | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
index 148a7c5fd..a2454d277 100644
--- a/drivers/input/serio/i8042-x86ia64io.h
+++ b/drivers/input/serio/i8042-x86ia64io.h
@@ -995,6 +995,24 @@ static const struct dmi_system_id __initconst i8042_dmi_kbdreset_table[] = {
 	{ }
 };

+static const struct dmi_system_id __initconst i8042_dmi_dumbkbd_table[] = {
+	{
+		/* HP 15-dy2xxx - keyboard */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "HP"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "HP Laptop 15-dy2xxx"),
+		},
+	},
+	{
+		/* HP 15s-fq2xxx - keyboard */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "HP"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "HP Laptop 15s-fq2xxx"),
+		},
+	},
+	{ }
+};
+
 static const struct dmi_system_id i8042_dmi_probe_defer_table[] __initconst = {
 	{
 		/* ASUS ZenBook UX425UA */
@@ -1333,6 +1351,9 @@ static int __init i8042_platform_init(void)
 	if (dmi_check_system(i8042_dmi_kbdreset_table))
 		i8042_kbdreset = true;

+	if (dmi_check_system(i8042_dmi_dumbkbd_table))
+		i8042_dumbkbd = true;
+
 	if (dmi_check_system(i8042_dmi_probe_defer_table))
 		i8042_probe_defer = true;

--
2.37.1





[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux