[PATCH v3 1/7] cpufreq: cpufreq-cpu0: allow use of optional boost mode frequencies

Tomasz Figa t.figa at samsung.com
Wed Feb 12 09:58:43 EST 2014


Hi Thomas,

On 07.02.2014 16:55, Thomas Abraham wrote:
> From: Thomas Abraham <thomas.ab at samsung.com>
>
> Lookup for the optional boost-frequency property in cpu0 node and if
> available, enable support for boost mode frequencies. The frequencies
> usable in boost mode are determined while preparing the cpufreq table
> from the list of operating points available.
>
> In addition to this, enable the CPU_FREQ_BOOST_SW config option for
> this driver by default. On platforms that do not support boost mode,
> the boost mode frequencies will not be specified in cpu0 node and
> hence the boost mode support will not be enabled. Since this driver
> anyways depends on THERMAL config option, it is safe to enable
> CPU_FREQ_BOOST_SW config option as default.
>
> Cc: Shawn Guo <shawn.guo at linaro.org>
> Cc: Lukasz Majewski <l.majewski at samsung.com>
> Signed-off-by: Thomas Abraham <thomas.ab at samsung.com>
> ---
>   Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt |    2 ++
>   drivers/cpufreq/Kconfig                                    |    1 +
>   drivers/cpufreq/cpufreq-cpu0.c                             |    3 +++
>   3 files changed, 6 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt b/Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt
> index f055515..60f321a 100644
> --- a/Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt
> +++ b/Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt
> @@ -19,6 +19,8 @@ Optional properties:
>   - cooling-min-level:
>   - cooling-max-level:
>        Please refer to Documentation/devicetree/bindings/thermal/thermal.txt.
> +- boost-frequency:
> +     Please refer to Documentation/devicetree/bindings/cpufreq/cpufreq-boost.txt
>
>   Examples:
>
> diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig
> index 4b029c0..52cc704 100644
> --- a/drivers/cpufreq/Kconfig
> +++ b/drivers/cpufreq/Kconfig
> @@ -187,6 +187,7 @@ config GENERIC_CPUFREQ_CPU0
>   	tristate "Generic CPU0 cpufreq driver"
>   	depends on HAVE_CLK && REGULATOR && OF && THERMAL && CPU_THERMAL
>   	select PM_OPP
> +	select CPU_FREQ_BOOST_SW
>   	help
>   	  This adds a generic cpufreq driver for CPU0 frequency management.
>   	  It supports both uniprocessor (UP) and symmetric multiprocessor (SMP)
> diff --git a/drivers/cpufreq/cpufreq-cpu0.c b/drivers/cpufreq/cpufreq-cpu0.c
> index 0c12ffc..06539eb 100644
> --- a/drivers/cpufreq/cpufreq-cpu0.c
> +++ b/drivers/cpufreq/cpufreq-cpu0.c
> @@ -195,6 +195,9 @@ static int cpu0_cpufreq_probe(struct platform_device *pdev)
>   			transition_latency += ret * 1000;
>   	}
>
> +	if (of_find_property(cpu_dev->of_node, "boost-frequency", NULL))
> +		cpu0_cpufreq_driver.boost_supported = true;
> +
>   	ret = cpufreq_register_driver(&cpu0_cpufreq_driver);
>   	if (ret) {
>   		pr_err("failed register driver: %d\n", ret);
>

I'd say that boost should be enabled depending on user's preference, as 
done before in Exynos cpufreq driver. So both presence of 
boost-frequency property and state of CPU_FREQ_BOOST_SW should be 
considered.

As for CPU_FREQ_BOOST_SW, I don't think it should be always selected, 
but ather, either converted to a user-selectable bool entry or made 
selectable by other entry, like current ARM_EXYNOS_CPU_FREQ_BOOST_SW.

Best regards,
Tomasz



More information about the linux-arm-kernel mailing list