On 21/02/2020 19:42, Dmitry Osipenko wrote: > 21.02.2020 20:40, Daniel Lezcano пишет: >> On Fri, Feb 21, 2020 at 08:21:41PM +0300, Dmitry Osipenko wrote: >>> 21.02.2020 18:16, Daniel Lezcano пишет: >>>> On Thu, Feb 13, 2020 at 02:51:22AM +0300, Dmitry Osipenko wrote: >>>>> Technically cpu_suspend() may fail and it's never good to lose information >>>>> about failure. For example things like cpuidle core could correctly sample >>>>> idling time in the case of failure. >>>>> >>>>> Acked-by: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> >>>>> Tested-by: Peter Geis <pgwipeout@xxxxxxxxx> >>>>> Tested-by: Jasper Korten <jja2000@xxxxxxxxx> >>>>> Tested-by: David Heidelberg <david@xxxxxxx> >>>>> Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx> >>>>> --- >>>> >>>> [ ... ] >>>> >>>>> cpu_cluster_pm_enter(); >>>>> suspend_cpu_complex(); >>>>> >>>>> - cpu_suspend(PHYS_OFFSET - PAGE_OFFSET, &tegra_sleep_cpu); >>>>> + err = cpu_suspend(PHYS_OFFSET - PAGE_OFFSET, &tegra_sleep_cpu); >>>>> >>>>> /* >>>>> * Resume L2 cache if it wasn't re-enabled early during resume, >>>>> @@ -208,6 +210,8 @@ void tegra_idle_lp2_last(void) >>>>> >>>>> restore_cpu_complex(); >>>> >>>> If the cpu_suspend fails, does restore_cpu_complex() need to be called ? >>> >>> Yes, because suspend_cpu_complex() didn't fail. I don't see any reason >>> why restore_cpu_complex() shouldn't be called, please clarify yours thought. >> >> If the suspend fails, the power down does not happen, thus the logic is not >> lost and then it not necessary to restore something which has not been lost. >> >> I don't know the hardware details, so that may be partially correct. > > At quick glance, the restore_cpu_complex() is only used for restoring > the GIC's state on Tegra. > > I don't think it's really worth the effort to handle > restore_cpu_complex() specially in a case of the error condition because > the chance that the error will ever happen is very small and restoring > the cluster's state won't cause any trouble in that case. > > Let's keep this patch as-is for simplicity :) Yep, not a big deal. Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> -- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog