On Thu, Jun 16, 2016 at 3:33 PM, Viresh Kumar <viresh.ku...@linaro.org> wrote: > dev_pm_opp_get_sharing_cpus() returns 0 even in the case where the OPP > core doesn't know if the table is shared or not. It is working for most > of the platforms, as the OPP table was never created and we returned > -ENODEV then. > > But in case of one of the platforms (Jetson TK1) at least, the situation > is a bit different. The OPP table is created (somehow) before > dev_pm_opp_get_sharing_cpus() is called and so we returned 0. The caller > of this routine treated that as 'CPUs don't share OPPs' and that had bad > consequences on performance. > > Fix this by creating a converting 'shared_opp' to an enum. > dev_pm_opp_get_sharing_cpus() returns -EINVAL now in case the status in > access-unknown, so that the caller can handle it accordingly (cpufreq-dt > considers that as 'all CPUs share the table'). > > Fixes: 6f707daa3833 ("PM / OPP: Add dev_pm_opp_get_sharing_cpus()") > Reported-and-tested-by: Alexandre Courbot <acour...@nvidia.com> > Signed-off-by: Viresh Kumar <viresh.ku...@linaro.org>
I've queued it up, but I rewrote the changelog. Please check in bleeding-edge. Thanks!