From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Stach Subject: Re: [PATCH v3] soc: imx: gpc: Turn PU domain on/off in sleep on 6qp Date: Tue, 10 Jul 2018 10:05:43 +0200 Message-ID: <1531209943.3163.31.camel@pengutronix.de> References: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Ulf Hansson , Leonard Crestez Cc: Shawn Guo , "Rafael J. Wysocki" , Fabio Estevam , Andrey Smirnov , Robin Gong , Dong Aisheng , Linux PM , Linux ARM , Linux Kernel Mailing List , dl-linux-imx , Sascha Hauer List-Id: linux-pm@vger.kernel.org Am Dienstag, den 10.07.2018, 00:27 +0200 schrieb Ulf Hansson: > > On 6 July 2018 at 18:46, Leonard Crestez wrote: > > On imx6qp power gating on the PU domain is disabled because of errata > > ERR009619. However power gating during suspend/resume can still be > > performed. > > Sounds a bit hand wavy. Exactly why can it be done during system suspend/resume? Power gating this domain in normal operation may introduce a glitch in unrelated modules, potentially disturbing a running display scanout. This is not a concern when the whole system enters suspend state, so it's safe to do in this case. Regards, Lucas > > > > Enable this by implementing SLEEP_PM_OPS in imx_pgc_power_domain_driver. > > > > In order to ensure correct ordering add device links from devices inside > > the PU domain to the pgc platform_device. > > In genpd, the PM domain gets powered off after all device's > corresponding ->suspend_noirq() callback has been invoked - and it > also considers if there are some wakeup settings enabled, possibly > avoiding to do the power off. > > It sound like the imx's power domain driver ->power_off|on() callback > should deal with this, to make get a consistent behavior. I understand > that you currently can't tell under what circumstances the > ->power_off|on() callbacks are being invoked, that may need some > changes in genpd. > > Currently we have a flag, GENPD_FLAG_ALWAYS_ON which makes genpd to > always prevent power off. Perhaps we should add a new flag > "GENPD_FLAG_RUNTIME_ON", which makes genpd to call the > ->power_on|off() callbacks, but only during system wide PM. > > Thoughts? Yes, this might work for this case. Regards, Lucas