[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-id: <5837E833.20007@samsung.com>
Date: Fri, 25 Nov 2016 16:28:51 +0900
From: Joonyoung Shim <jy0922.shim@...sung.com>
To: Viresh Kumar <viresh.kumar@...aro.org>,
Rafael Wysocki <rjw@...ysocki.net>,
Viresh Kumar <vireshk@...nel.org>, Nishanth Menon <nm@...com>,
Stephen Boyd <sboyd@...eaurora.org>
Cc: linaro-kernel@...ts.linaro.org, linux-pm@...r.kernel.org,
linux-kernel@...r.kernel.org, stable@...r.kernel.org,
Joonyoung Shim <jy0922.shim@...sung.com>
Subject: Re: [PATCH] PM / OPP: Allow inactive opp_device to be present in dev
list
On 11/25/2016 03:53 PM, Viresh Kumar wrote:
> Joonyoung Shim reported an interesting problem on his ARM octa-core
> Odoroid-XU3 platform. During system suspend, dev_pm_opp_put_regulator()
> was failing for a struct device for which dev_pm_opp_set_regulator() is
> called earlier.
>
> This happened because an earlier call to
> dev_pm_opp_of_cpumask_remove_table() function (from cpufreq-dt.c file)
> removed all the entries from opp_table->dev_list apart from the last CPU
> device in the cpumask of CPUs sharing the OPP.
>
> But both dev_pm_opp_set_regulator() and dev_pm_opp_put_regulator()
> routines get CPU device for the first CPU in the cpumask. And so the OPP
> core failed to find the OPP table for the struct device.
>
> This patch attempts to fix this problem by adding another field in the
> struct opp_device: inactive.
>
> Instead of removing the entries from the list during
> dev_pm_opp_of_cpumask_remove_table() function call, we mark them as
> inactive. Such inactive devices will not be used by the core in most of
> the cases, like before, but will be used only at special places which
> need to take inactive devices into account.
>
> All the devices are removed from the list together now and that happens
> only when the opp_table gets destroyed.
>
> This patch is tested on Dual A15, Exynos5250 platform by compiling the
> cpufreq-dt driver as a module. The module is inserted/removed multiple
> times with combinations of CPU offline/online steps.
>
> Signed-off-by: Viresh Kumar <viresh.kumar@...aro.org>
It's working well during system suspend/resume on my Odroid-XU3 board.
Tested-by: Joonyoung Shim <jy0922.shim@...sung.com>
Thanks.
Powered by blists - more mailing lists