[Vivid][SRU][PATCH] #LP1518855 Backport better suspend/resume function for pinctrl-cherryview
Phidias Chiang
phidias.chiang at canonical.com
Fri Jan 15 09:15:33 UTC 2016
In bug https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1518855,
the SRU patch fix the problem that pinctrl-cherryview can't suspend which
make i2c touchpad unusable after S3.
But when I'm doing SRU verification I discovered that in about 1/5 time of
S3,
the following error occurs:
[ 731.748182] i2c_hid i2c-DLL0725:01: i2c_hid_hwreset
...
...
[ 736.749017] i2c_hid i2c-DLL0725:01: failed to reset device.
[ 736.750015] dpm_run_callback(): i2c_hid_resume+0x0/0xe0 [i2c_hid] returns
-61
[ 736.750022] PM: Device i2c-DLL0725:01 failed to resume: error -61
and the touchpad dies, which didn't happen before with 60 runs of S3
test[1].
It appears to be a race condition in i2c-hid, and there's already a fix for
this issue:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=9a327405014f4ef4cdad67a0686db82b9f23c62c
,
I've built a kernel to test this fix, and it works, no more error -61, and
it pass 10/10 so far.
Please advice the next step, and sorry for the inconvenience.
[1]: The error message showed up in the test, but the touchpad still works
under i2c
so was not considered critical at the moment.
On Mon, Dec 21, 2015 at 1:41 PM, Phidias Chiang <
phidias.chiang at canonical.com> wrote:
> BugLink: http://bugs.launchpad.net/bugs/1518855
>
> [Impact]
>
> On some platforms the touchpad relies on pinctrl devices to provide
> GPIO interrupt, but in 3.19.0 pinctrl-cherryview doesn't support
> suspend well and will lose the config after suspend/resume,
> then touchpad can't be used.
>
> [Fix]
>
> There's a commit in 4.0-rc1 to add suspend/resume for pinctrl-cherryview:
>
> commit 9eb457b547cc731bc2fc251bd79891a60c64fc3e
> Refs: [HEAD]
> Author: Mika Westerberg <mika.westerberg at linux.intel.com>
> Date: Thu Dec 4 12:32:50 2014 +0200
>
> pinctrl: cherryview: Save and restore pin configs over system sleep
>
> which can be clean cherry-picked
>
> [Test]
>
> 3.19.0-33 -> failed
> 4.2-> passed
> 4.0, 4.1 -> Can't suspend due to graphic driver failed so can't use to test
> 3.19.0-33 + patched module -> passed
>
>
> Mika Westerberg (1):
> pinctrl: cherryview: Save and restore pin configs over system sleep
>
> drivers/pinctrl/intel/pinctrl-cherryview.c | 104
> +++++++++++++++++++++++++++++
> 1 file changed, 104 insertions(+)
>
> --
> 2.5.0
>
>
> --
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
>
--
phid at irc.canonical.com
HWE Team
Meng-Hsiu Chiang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20160115/00b6fda4/attachment.html>
More information about the kernel-team
mailing list