From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dmitry Osipenko Subject: Re: [PATCH 2/5] i2c: tegra: Restore pinmux on system resume Date: Fri, 8 May 2020 18:00:57 +0300 Message-ID: References: <20200506193358.2807244-1-thierry.reding@gmail.com> <20200506193358.2807244-3-thierry.reding@gmail.com> <2a0404ac-73bf-2f27-9147-8bef28ae995f@gmail.com> <20200508103130.GB3030605@ulmo> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20200508103130.GB3030605@ulmo> Content-Language: en-US Sender: linux-tegra-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Thierry Reding Cc: Wolfram Sang , Jon Hunter , linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: linux-tegra@vger.kernel.org 08.05.2020 13:31, Thierry Reding пишет: ... >> Is it legal to touch DPAUX registers while DPAUX is in a suspended state? > > DPAUX is never runtime suspended and the dependency from the I2C > controller on DPAUX should ensure that they are suspended and resumed in > the right order during system sleep. 1. Could you please explain why DPAUX is never suspended? Isn't it a problem? It looks a bit odd that driver is doing this [1][2]. RPM is supposed to be used for the *dynamic* power management. Should we remove RPM usage from the DPAUX driver? [1] https://elixir.bootlin.com/linux/v5.7-rc4/source/drivers/gpu/drm/tegra/dpaux.c#L524 [2] https://elixir.bootlin.com/linux/v5.7-rc4/source/drivers/gpu/drm/tegra/dpaux.c#L591 2. Could you please explain why I2C driver has to care about restoring the pinmux state? Why pinctrl driver isn't doing that for I2C and everything else?