[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f50b3db3-785d-3efd-b45d-13e1e93f60cc@tuxedocomputers.com>
Date: Tue, 21 Mar 2023 17:10:19 +0100
From: Werner Sembach <wse@...edocomputers.com>
To: Hans de Goede <hdegoede@...hat.com>, dmitry.torokhov@...il.com,
tiwai@...e.de, samuel@...oj.net, linux-input@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] Input: i8042 - add TUXEDO devices to i8042 quirk
tables for partial fix
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@...hat.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@...edocomputers.com>
>>>> Cc: stable@...r.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"),
>
Powered by blists - more mailing lists