From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753542AbeBSTLb (ORCPT ); Mon, 19 Feb 2018 14:11:31 -0500 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:35092 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753443AbeBSTL3 (ORCPT ); Mon, 19 Feb 2018 14:11:29 -0500 Date: Mon, 19 Feb 2018 19:11:16 +0000 Message-ID: <86po50dcbv.wl-marc.zyngier@arm.com> From: Marc Zyngier To: Florian Fainelli Cc: linux-kernel@vger.kernel.org, linus.walleij@linaro.org, swarren@nvidia.com, andy.shevchenko@gmail.com, alcooperx@gmail.com, linux-gpio@vger.kernel.org, Heiko Stuebner Subject: Re: [PATCH fixes v3] pinctrl: Really force states during suspend/resume In-Reply-To: <913ED32F-36F8-4F31-9221-263DD5599FB2@gmail.com> References: <20170301183257.6554-1-f.fainelli@gmail.com> <83d6bd0da9254d868d3f713bd3bc282c@www.loen.fr> <913ED32F-36F8-4F31-9221-263DD5599FB2@gmail.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL/10.8 EasyPG/1.0.0 Emacs/25.1 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) Organization: ARM Ltd MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 19 Feb 2018 18:03:27 +0000, Florian Fainelli wrote: > > On February 19, 2018 9:25:26 AM PST, Marc Zyngier wrote: > >Hi all, > > > >On 2017-03-01 18:32, Florian Fainelli wrote: > >> In case a platform only defaults a "default" set of pins, but not a > >> "sleep" set of pins, and this particular platform suspends and > >> resumes > >> in a way that the pin states are not preserved by the hardware, when > >> we > >> resume, we would call pinctrl_single_resume() -> > >> pinctrl_force_default() > >> -> pinctrl_select_state() and the first thing we do is check that the > >> pins state is the same as before, and do nothing. > >> > >> In order to fix this, decouple the actual state change from > >> pinctrl_select_state() and move it pinctrl_commit_state(), while > >> keeping > >> the p->state == state check in pinctrl_select_state() not to change > >> the > >> caller assumptions. pinctrl_force_sleep() and pinctrl_force_default() > >> are updated to bypass the state check by calling > >> pinctrl_commit_state(). > >> > >> Fixes: 6e5e959dde0d ("pinctrl: API changes to support multiple states > >> per device") > >> Signed-off-by: Florian Fainelli [back to using my ARM address] Hey Florian, > Hey Marc, > > > > >I don't often go back over a year worth of LKML, but since this patch > >recently landed in mainline as 981ed1bfbc6c, I though I'd use it as an > >anchor to report the following: > > > >It turns out that this patch completely breaks resume on my > >rk3399-based Chromebook. Most things are timing out, the box is > >unusable. And since this is my everyday tool, I'm mildly > >grumpy. Please don't break my toys! ;-) Reverting this patch on top > >of 4.16-rc2 makes me productive again... > > > >More seriously, I have no idea what's wrong here. It could be a > >SoC-related issue, hence Heiko on Cc. I'm happy to test any idea you > >could have. > > Can you indicate which DTS file is used for your Chromebook model? Sure. That's arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts, with a couple of fixes on top (some clocks and big-little idiosyncrasies). > Sorry about the breakage. No worries. M. -- Jazz is not dead, it just smell funny.