Messages in this thread | | | Date | Tue, 21 Mar 2023 17:10:19 +0100 | Subject | Re: [PATCH 2/2] Input: i8042 - add TUXEDO devices to i8042 quirk tables for partial fix | From | Werner Sembach <> |
| |
Am 11.07.22 um 14:55 schrieb Hans de Goede: > 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@redhat.com> > > Regards, > > Hans
Afaik this patch never got merged. Sadly I still have no better solution, so I wanted to bring the patch up for discussion again as it still makes the situation better in my opinion.
Kind Regards,
Werner Sembach
> > >>>> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com> >>>> Cc: stable@vger.kernel.org >>>> --- >>>> 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"), >
| |