[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2iAJTwqZV6lQs26cTb38RNYqxvsink6SRmrZ5h0cBUSuf9NT0tZTsf9fEAbbto2maavHJEOP8GA1evlKa6xjKOsaskDhtJWxjcnrgPigzVo=@gurevit.ch>
Date: Sat, 30 Jul 2022 06:37:43 +0000
From: gurevitch <mail@...evit.ch>
To: "dmitry.torokhov@...il.com" <dmitry.torokhov@...il.com>
Cc: "egori@...linux.org" <egori@...linux.org>,
"linux-input@...r.kernel.org" <linux-input@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: [PATCH] Input: i8042 - enable dumbkbd quirk for HP 15-dy2xxx and 15s-fq2xxx
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@suse.com/
Link: https://lore.kernel.org/all/20210609073333.8425-1-egori@altlinux.org/
Signed-off-by: gurevitch <mail@...evit.ch>
---
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
Powered by blists - more mailing lists