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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Thomas,

On 07.02.2014 16:55, Thomas Abraham wrote:
From: Thomas Abraham <thomas.ab@xxxxxxxxxxx>

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@xxxxxxxxxx>
Cc: Lukasz Majewski <l.majewski@xxxxxxxxxxx>
Signed-off-by: Thomas Abraham <thomas.ab@xxxxxxxxxxx>
---
  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
--
To unsubscribe from this list: send the line "unsubscribe cpufreq" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Devel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Forum]     [Linux SCSI]

  Powered by Linux