Message ID | 1372927830-2949-5-git-send-email-l.majewski@samsung.com (mailing list archive) |
---|---|
State | Changes Requested, archived |
Headers | show |
On 4 July 2013 14:20, Lukasz Majewski <l.majewski@samsung.com> wrote: > The struct cpufreq_driver has been extended to embrace the information > related to boost support. > > When "boost_mode" device tree attribute is defined for a platform, the > boost_supported flag is set. Moreover boost related attributes were > exported. > > Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> > Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com> Don't we need to mark any frequencies in the freq table with BOOST? How? -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, 16 Jul 2013 15:18:57 +0530 Viresh Kumar viresh.kumar@linaro.org wrote, > On 4 July 2013 14:20, Lukasz Majewski <l.majewski@samsung.com> wrote: > > The struct cpufreq_driver has been extended to embrace the > > information related to boost support. > > > > When "boost_mode" device tree attribute is defined for a platform, > > the boost_supported flag is set. Moreover boost related attributes > > were exported. > > > > Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> > > Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com> > > Don't we need to mark any frequencies in the freq table with BOOST? > How? The (trivial) patch is already prepared to enable BOOST at cpufreq for Exynos4412. I will post it for v6. Sorry for not posting it earlier. The whole patch is as follow: static struct clk *cpu_clk; static struct clk *mout_core; static struct clk *sclk_mpll; static struct clk *mout_apll; static unsigned int exynos4x12_volt_table[] = { 1350000, 1287500, 1250000, 1187500, 1137500, 1087500, 1037500, 1000000, 987500, 975000, 950000, 925000, 900000, 900000 }; static struct cpufreq_frequency_table exynos4x12_freq_table[] = { - {L0, CPUFREQ_ENTRY_INVALID}, + {CPUFREQ_BOOST_FREQ, 1500 * 1000}, {L1, 1400 * 1000}, {L2, 1300 * 1000}, {L3, 1200 * 1000}, {L4, 1100 * 1000}, {L5, 1000 * 1000}, {L6, 900 * 1000}, {L7, 800 * 1000}, {L8, 700 * 1000}, {L9, 600 * 1000}, {L10, 500 * 1000}, {L11, 400 * 1000}, {L12, 300 * 1000},
diff --git a/drivers/cpufreq/exynos-cpufreq.c b/drivers/cpufreq/exynos-cpufreq.c index 0d32f02..4f42fcc 100644 --- a/drivers/cpufreq/exynos-cpufreq.c +++ b/drivers/cpufreq/exynos-cpufreq.c @@ -267,6 +267,7 @@ static int exynos_cpufreq_cpu_exit(struct cpufreq_policy *policy) static struct freq_attr *exynos_cpufreq_attr[] = { &cpufreq_freq_attr_scaling_available_freqs, + &cpufreq_freq_attr_scaling_boost_freqs, NULL, }; @@ -287,6 +288,7 @@ static struct cpufreq_driver exynos_driver = { static int __init exynos_cpufreq_init(void) { + struct device_node *node = pdev->dev.of_node; int ret = -EINVAL; exynos_info = kzalloc(sizeof(struct exynos_dvfs_info), GFP_KERNEL); @@ -317,6 +319,8 @@ static int __init exynos_cpufreq_init(void) } locking_frequency = exynos_getspeed(0); + if (of_property_read_bool(node, "boost_mode")) + exynos_driver.boost_supported = 1; register_pm_notifier(&exynos_cpufreq_nb);