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

Bartlomiej Zolnierkiewicz b.zolnierkie at samsung.com
Mon Aug 3 03:31:32 PDT 2015


[ 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:
> > 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
> 
> 
> > 
> > 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 <tomasz.figa at gmail.com>
> > Cc: Kukjin Kim <kgene.kim at samsung.com>
> > Cc: Thomas Abraham <thomas.ab at samsung.com>
> > Cc: Javier Martinez Canillas <javier at osg.samsung.com>
> > Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie at samsung.com>
> > ---
> >  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)




More information about the linux-arm-kernel mailing list