Hi, On 7/11/22 14:45, Werner Sembach wrote: > Hi, > > On 7/8/22 21:39, Hans de Goede wrote: >> Hi, >> >> On 7/8/22 18:10, Werner Sembach wrote: >>> A lot of modern Clevo barebones have touchpad and/or keyboard issues after >>> suspend fixable with nomux + reset + noloop + nopnp. Luckily, none of them >>> have an external PS/2 port so this can safely be set for all of them. >>> >>> I'm not entirely sure if every device listed really needs all four quirks, >>> but after testing and production use. No negative effects could be >>> observed when setting all four. >>> >>> Setting SERIO_QUIRK_NOMUX or SERIO_QUIRK_RESET_ALWAYS on the Clevo N150CU >>> and the Clevo NHxxRZQ makes the keyboard very laggy for ~5 seconds after >>> boot and sometimes also after resume. However both are required for the >>> keyboard to not fail completely sometimes after boot or resume. >> Hmm, the very laggy bit does not sound good. Have you looked into other >> solutions, e.g. what happens if you use just nomux without any of the >> other 3 options ? > > I tried a lot of combinations, but it was some time ago. > > iirc: at least nomux and reset are required and both individually cause the lagging. > > So the issue is not fixed by just using a different set of quirks. Hmm, ok. So given that this seems to be the best we can do the patch looks good to me: Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Regards, Hans >>> Signed-off-by: Werner Sembach <wse@xxxxxxxxxxxxxxxxxxx> >>> Cc: stable@xxxxxxxxxxxxxxx >>> --- >>> drivers/input/serio/i8042-x86ia64io.h | 28 +++++++++++++++++++++++++++ >>> 1 file changed, 28 insertions(+) >>> >>> diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h >>> index 5204a7dd61d4..9dc0266e5168 100644 >>> --- a/drivers/input/serio/i8042-x86ia64io.h >>> +++ b/drivers/input/serio/i8042-x86ia64io.h >>> @@ -1107,6 +1107,20 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { >>> .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | >>> SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) >>> }, >>> + { >>> + /* >>> + * Setting SERIO_QUIRK_NOMUX or SERIO_QUIRK_RESET_ALWAYS makes >>> + * the keyboard very laggy for ~5 seconds after boot and >>> + * sometimes also after resume. >>> + * However both are required for the keyboard to not fail >>> + * completely sometimes after boot or resume. >>> + */ >>> + .matches = { >>> + DMI_MATCH(DMI_BOARD_NAME, "N150CU"), >>> + }, >>> + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | >>> + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) >>> + }, >>> { >>> .matches = { >>> DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), >>> @@ -1114,6 +1128,20 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { >>> .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | >>> SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) >>> }, >>> + { >>> + /* >>> + * Setting SERIO_QUIRK_NOMUX or SERIO_QUIRK_RESET_ALWAYS makes >>> + * the keyboard very laggy for ~5 seconds after boot and >>> + * sometimes also after resume. >>> + * However both are required for the keyboard to not fail >>> + * completely sometimes after boot or resume. >>> + */ >>> + .matches = { >>> + DMI_MATCH(DMI_BOARD_NAME, "NHxxRZQ"), >>> + }, >>> + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | >>> + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) >>> + }, >>> { >>> .matches = { >>> DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), >