Thread (25 messages) 25 messages, 6 authors, 2015-08-04

Re: [PATCH v3 3/5] ARM: Exynos: switch to using generic cpufreq driver for Exynos4x12

From: Bartlomiej Zolnierkiewicz <hidden>
Date: 2015-08-03 10:32:28
Also in: linux-arm-kernel, linux-clk, linux-samsung-soc, lkml

[ added Zhang & Eduardo to Cc: ]

Hi,

On Saturday, August 01, 2015 04:43:58 PM Krzysztof Kozlowski wrote:
W dniu 01.08.2015 o 03:49, Bartlomiej Zolnierkiewicz pisze:
quoted
The new CPU clock type allows the use of generic CPUfreq driver.
Switch Exynos4x12 to using generic cpufreq driver.

Also make CPUFREQ_DT config option select Exynos thermal driver
if Exynos platform support is enabled.
Why? I think this wasn't in your previous patch.
Previous patch kept ARM_EXYNOS_CPU_FREQ_BOOST_SW config option
which selected EXYNOS_THERMAL.  After recent changes (boost
support enabled in the cpufreq-dt driver when there are turbo
OPPs in board's dts file) ARM_EXYNOS_CPU_FREQ_BOOST_SW config
option become redundant and was removed.  However we still
would like to allow enabling boost support only if thermal
support is also enabled for Exynos platforms.

[ There may be a better way to do this in the future (runtime
  checking for thermal support being enabled) but currently
  there seems to be no thermal infrastructure to allow this. ]

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
Best regards,
Krzysztof

quoted
Please also note that the switch to use the generic cpufreq-dt
driver fixes the minor issue present with the old code (support
for 'boost' mode in the exynos-cpufreq driver was enabled for
all supported SoCs even though 'boost' frequency was provided
only for Exynos4x12 ones).

Cc: Tomasz Figa <redacted>
Cc: Kukjin Kim <redacted>
Cc: Thomas Abraham <redacted>
Cc: Javier Martinez Canillas <redacted>
Signed-off-by: Bartlomiej Zolnierkiewicz <redacted>
---
 arch/arm/mach-exynos/exynos.c | 2 ++
 drivers/cpufreq/Kconfig       | 1 +
 2 files changed, 3 insertions(+)
diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index 77ac021..1c47aee 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -227,6 +227,8 @@ static void __init exynos_init_irq(void)
 static const struct of_device_id exynos_cpufreq_matches[] = {
 	{ .compatible = "samsung,exynos3250", .data = "cpufreq-dt" },
 	{ .compatible = "samsung,exynos4210", .data = "cpufreq-dt" },
+	{ .compatible = "samsung,exynos4212", .data = "cpufreq-dt" },
+	{ .compatible = "samsung,exynos4412", .data = "cpufreq-dt" },
 	{ .compatible = "samsung,exynos5250", .data = "cpufreq-dt" },
 	{ /* sentinel */ }
 };
diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig
index 659879a..bf6d596 100644
--- a/drivers/cpufreq/Kconfig
+++ b/drivers/cpufreq/Kconfig
@@ -191,6 +191,7 @@ config CPUFREQ_DT
 	# if CPU_THERMAL is on and THERMAL=m, CPUFREQ_DT cannot be =y:
 	depends on !CPU_THERMAL || THERMAL
 	select PM_OPP
+	select EXYNOS_THERMAL if ARCH_EXYNOS
 	help
 	  This adds a generic DT based cpufreq driver for frequency management.
 	  It supports both uniprocessor (UP) and symmetric multiprocessor (SMP)
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help