The virtual i8042 keyboard controller on the HP Laptop 15s-fq2xxx
is not properly delivering GETID interrupts resulting in a large
initialization delay. With dumbkbd, the driver does not ask for the
keyboard ID, and uses the default configuration, which works fine
with this keyboard.
Link: https://lore.kernel.org/lkml/20210528154339.GA9116@suse.com/ (local)
Signed-off-by: Egor Ignatov <redacted>
---
drivers/input/serio/i8042-x86ia64io.h | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
index a5a003553646..a29588014abc 100644
--- a/drivers/input/serio/i8042-x86ia64io.h
+++ b/drivers/input/serio/i8042-x86ia64io.h
@@ -981,6 +981,17 @@ static const struct dmi_system_id __initconst i8042_dmi_kbdreset_table[] = {
{ }
};
+static const struct dmi_system_id __initconst i8042_dmi_dumbkbd_table[] = {
+ {
+ /* HP 15s-fq2xxx - keyboard */
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "HP"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "HP Laptop 15s-fq2xxx"),
+ },
+ },
+ { }
+};
+
#endif /* CONFIG_X86 */
#ifdef CONFIG_PNP@@ -1301,6 +1312,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;
+
/*
* A20 was already enabled during early kernel init. But some buggy
* BIOSes (in MSI Laptops) require A20 to be enabled using 8042 to
--
2.29.3