Re: [PATCH] HID: i2c-hid: Disable runtime PM on Goodix touchpad
From: Kai-Heng Feng <hidden>
Date: 2019-01-17 05:02:57
Also in:
lkml
On Jan 16, 2019, at 16:21, Kai Heng Feng [off-list ref] wrote:quoted
On Jan 14, 2019, at 19:18, Jiri Kosina [off-list ref] wrote: On Mon, 14 Jan 2019, Kai-Heng Feng wrote:quoted
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-Hengquoted
-- Jiri Kosina SUSE Labs