Re: [PATCH] HID: i2c-hid: Disable runtime PM on Goodix touchpad

From: Kai-Heng Feng
Date: Thu Jan 17 2019 - 00:03:14 EST




> On Jan 16, 2019, at 16:21, Kai Heng Feng <kai.heng.feng@xxxxxxxxxxxxx> wrote:
>
>
>
>> On Jan 14, 2019, at 19:18, Jiri Kosina <jikos@xxxxxxxxxx> wrote:
>>
>> On Mon, 14 Jan 2019, Kai-Heng Feng wrote:
>>
>>> A Goodix touchpad doesn't work. Touching the touchpad can trigger IRQ
>>> but there's no input event from HID subsystem.
>>>
>>> Turns out it reports some invalid data:
>>> [ 22.136630] i2c_hid i2c-DELL091F:00: input: 0b 00 01 00 00 00 00 00 00 00 00
>>>
>>> After some trial and error, it's another device that doesn't work well
>>> with ON/SLEEP commands. Disable runtime PM to fix the issue.
>>
>> Thanks, I've now applied the patch to for-5.0/upstream-fixes. I am
>> wondering though we are we seeing these at all - do other OSes not do the
>> runtime PM on i2c at all?
>
> According to the vendor, Windows does use ON/SLEEP, but infrequently.
>
> We can use pm_runtime_use_autosuspend() to reduce the frequency of
> ON/SLEEP commands, but itâs just papering over the touchpad firmware
> bug.

Goodix says the firmware needs at least 60ms to fully respond ON and
SLEEP command.

Iâll see if an 200ms autosuspend can solve all Goodix, LG and Raydium
touchpanels.

Kai-Heng

>
> Kai-Heng
>
>>
>> --
>> Jiri Kosina
>> SUSE Labs