cpufreq: dt: Add support for turbo/boost mode
authorViresh Kumar <viresh.kumar@linaro.org>
Wed, 29 Jul 2015 10:53:11 +0000 (16:23 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 7 Aug 2015 01:25:24 +0000 (03:25 +0200)
With opp-v2 DT bindings, few OPPs can be used only for the boost mode.
But using such OPPs require the boost mode to be supported by cpufreq
driver.

We will parse DT bindings only during ->init() and so can enable boost
support only after registering cpufreq driver.

This enables boost support as soon as any policy has boost/turbo OPPs
for its CPUs.

We don't need to disable boost support as that is done by the core, when
the driver is unregistered.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/cpufreq-dt.c

index c6e7033..b9259ab 100644 (file)
@@ -330,6 +330,14 @@ static int cpufreq_init(struct cpufreq_policy *policy)
                goto out_free_cpufreq_table;
        }
 
+       /* Support turbo/boost mode */
+       if (policy_has_boost_freq(policy)) {
+               /* This gets disabled by core on driver unregister */
+               ret = cpufreq_enable_boost_support();
+               if (ret)
+                       goto out_free_cpufreq_table;
+       }
+
        policy->cpuinfo.transition_latency = transition_latency;
 
        of_node_put(np);