[Vivid][SRU][PATCH] #LP1518855 Backport better suspend/resume function for pinctrl-cherryview

Tim Gardner tim.gardner at canonical.com
Fri Jan 15 13:51:59 UTC 2016


On 01/15/2016 02:15 AM, Phidias Chiang wrote:
> 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 <mailto: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
>     <mailto: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 <mailto:kernel-team at lists.ubuntu.com>
>     https://lists.ubuntu.com/mailman/listinfo/kernel-team
>
>
>
>
> --
> phid at irc.canonical.com <mailto:phid at irc.canonical.com>
> HWE Team
> Meng-Hsiu Chiang
>
>

Its an obviously correct patch, and an easy backport. I'd say apply it 
as part of the SRU.

-- 
Tim Gardner tim.gardner at canonical.com




More information about the kernel-team mailing list