Received: by 10.223.185.116 with SMTP id b49csp4117262wrg; Mon, 19 Feb 2018 11:24:44 -0800 (PST) X-Google-Smtp-Source: AH8x224VHn0CcH//QX24o0iMRvtkQ6hHnxnXzLZNJx8/pMrNQqLNBLY1c3ZCr1jf4D5YVolTBZqh X-Received: by 2002:a17:902:536a:: with SMTP id b97-v6mr524070pli.421.1519068284229; Mon, 19 Feb 2018 11:24:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519068284; cv=none; d=google.com; s=arc-20160816; b=zd8poiFeA/eJOnTYIqnT01k6vd00QANN6tHhPL1jZ8xxz9kEDUAnGFXx1WOoxoMxLP +kg6wt3T4Ral7DajkdNb99+WSdcSXCormS34WN2m4952cQhyU/a0+9H1MEW+8JdKxuJc Ep0UjxhItjxO7p0ZK4Z7cD+VwbaKEjwfDKtHtqxa5uFnGSR3necFnsw2s1OtYk9geuwe CfTDgeWH5vnNJ9DSR9UMif3I7OHhC9iMNFbjtT8e72Gd6WlTYqWjbfXnNkYy3SU1qAeW FsJlYFEPd1ftv3PFPmeAHyDjncwM/HTsKEipHlrmMlL0eca3sTXRwGV5AUH8aIPnFeos o2Yw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:organization:user-agent :references:in-reply-to:subject:cc:to:from:message-id:date :arc-authentication-results; bh=lnwMhI/+nBNenK+KNGxhJDLRW/1kOBfRzwR/L3yvvv8=; b=dG6SSNsGsm3Za6RLFqK3rHNJrbjheZmrv0KeoibormyFAH9j3IM1/eAa/KVZJ2UrVY DiqgCzzdPJTE9zS6JtE+A+IQeBo+G2jgEbFRsyvUnxLAIXosJV8llK4By8Aw0O4AQFFy skNYMpfqFnogPEq7PBjbzaU9yBbsma2HxIr7D1slerbYHGEA33VlDd8Z51RZGS45UtOP Y9ZSYwxt2I/SK4cFOAAYQiXPz5WK9oKd+JF3sMB5jl33NVmWG7s7GI1cZgU1nnYNCFCb be9CWjJ11hSmA0sSzG0agTqypaKDhSGY/61PeNjvXJ5Xej1EDoV3fC1cVbyB91MtlchR pZYw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n6si2212186pgr.31.2018.02.19.11.24.30; Mon, 19 Feb 2018 11:24:44 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753574AbeBSTXv (ORCPT + 99 others); Mon, 19 Feb 2018 14:23:51 -0500 Received: from foss.arm.com ([217.140.101.70]:35212 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753443AbeBSTXu (ORCPT ); Mon, 19 Feb 2018 14:23:50 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id F15481435; Mon, 19 Feb 2018 11:23:49 -0800 (PST) Received: from big-swifty.misterjones.org (usa-sjc-mx-foss1.foss.arm.com [217.140.101.70]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A6B773F487; Mon, 19 Feb 2018 11:23:47 -0800 (PST) Date: Mon, 19 Feb 2018 19:23:44 +0000 Message-ID: <86o9kkdbr3.wl-marc.zyngier@arm.com> From: Marc Zyngier To: Heiko Stuebner Cc: Florian Fainelli , linux-kernel@vger.kernel.org, linus.walleij@linaro.org, swarren@nvidia.com, andy.shevchenko@gmail.com, alcooperx@gmail.com, linux-gpio@vger.kernel.org Subject: Re: [PATCH fixes v3] pinctrl: Really force states during suspend/resume In-Reply-To: <3136391.js9qjGvjLN@phil> References: <20170301183257.6554-1-f.fainelli@gmail.com> <83d6bd0da9254d868d3f713bd3bc282c@www.loen.fr> <913ED32F-36F8-4F31-9221-263DD5599FB2@gmail.com> <3136391.js9qjGvjLN@phil> 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 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 19 Feb 2018 18:57:23 +0000, Heiko Stuebner wrote: > > Am Montag, 19. Februar 2018, 19:03:27 CET schrieb Florian Fainelli: > > 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 > > >> --- > > >> Changes in v3: > > >> > > >> - move the state check to pinctrl_select_state > > >> > > >> Changes in v2: > > >> > > >> - rename __pinctrl_select_state to pinctrl_commit_state > > >> > > >> drivers/pinctrl/core.c | 24 +++++++++++++++++------- > > >> 1 file changed, 17 insertions(+), 7 deletions(-) > > >> Hey Heiko, > > 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? Sorry about the breakage. > > that should be > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts > > I'm vacationing right now, so don't think I'll find time to dive into > Rockchip pinctrl this week. But I'd guess it could be somehow > related to the ATF touching pins during suspend/resume? That'd be really unfortunate. I would have assumed that ATF would leave things as they were instead of re-configuring them to whatever default. The most annoying thing is that if that's indeed the case, we need to find a solution that will cope with the current state of the firmware. I guess that'd mean eagerly saving/restoring the pin state across suspend/resume, irrespective of what firmware could do? Enjoy your holiday! M. -- Jazz is not dead, it just smell funny.