Message ID | 7hioi4l92v.fsf@deeprootsystems.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Thomas, On Mon, Nov 24, 2014 at 10:58 AM, Kevin Hilman <khilman@kernel.org> wrote: [...] > Second, as with earlier versions of this series, I'm still seeing lots > of "wait_until_divider_stable: timeout in divider stablization" messages > coming out when running powertop. I found a simpler way to reproduce these messages. If I simply use the userspace governor and cycle through all the A7 OPPs, I'll hit this message (script below[1]). Note that I'm also using my DTS change that fixes the vdd_arm and vdd_kfc voltages to a voltage that is high enough for all the OPPs. Kevin [1] #!/bin/sh cpu=cpu4 reg_name=vdd_kfc cpu_reg=$(dirname `find /sys/class/regulator/regulator.*/ -name name -exec grep -l $reg_name {} \;`) echo $cpu_reg # Cycle through frequencies (and check voltage) cd /sys/devices/system/cpu/$cpu/cpufreq echo userspace > scaling_governor for freq in `cat scaling_available_frequencies`; do echo ${freq} > scaling_setspeed echo -n "current freq: " cat scaling_cur_freq echo -n "current voltage: " cat ${cpu_reg}/microvolts sleep 1 done
Kevin Hilman <khilman@kernel.org> writes: > Hi Thomas, > > Thomas Abraham <thomas.ab@samsung.com> writes: > >> Changes since v11: >> - Rebased on top of git://linuxtv.org/snawrocki/samsung.git for-v3.19-exynos-clk > > Thanks for rebasing/reposting. > >> This patch series removes the use of Exynos4210 and Exynos5250 specific cpufreq >> drivers and enables the use of cpufreq-dt driver for these platforms. This >> series also enables cpufreq support for Exynos5420 using arm_big_little cpufreq >> driver. >> >> This series is based on the following branch. >> git://linuxtv.org/snawrocki/samsung.git for-v3.19-exynos-clk >> >> This series depends on the following patch which can be picked from >> git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git samsung/dt >> e540920cf21c (ARM: dts: add CPU nodes for Exynos4 SoCs). >> >> This patch series has been tested on Exynos4210/5250/5420 based boards. >> Tomasz Figa had plans to take this in the Samsung clock tree for v3.19 >> (http://www.spinics.net/lists/linux-samsung-soc/msg37933.html). >> Sylwester, could you consider to merge this in your tree? > > I tested this on exynos5800-peach-pi, and noticed a few things. > > First, since voltage scaling is not currently supported, the CPU cluster > regulators (vdd_arm, and vdd_kfc) have to be set at sufficietnly high > voltage to support all the OPPs, otherwise things will likely hang. I > think you should include something like the patch below[1] in this > series as well. > > Second, as with earlier versions of this series, I'm still seeing lots > of "wait_until_divider_stable: timeout in divider stablization" messages > coming out when running powertop. And, I just found another issue: On exynos5800-peach-pi, setting the cpufreq default governor to performance at compile time (CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y) makes the kernel boot hang when the cpufreq driver is initialized. However, setting the compile-time default to the userspace governor, and then setting the performance governor via sysfs after the boot finishes seems to work fine. Kevin
diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts index e8fdda827fc9..5160735aad3b 100644 --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts @@ -195,8 +195,8 @@ buck2_reg: BUCK2 { regulator-name = "vdd_arm"; - regulator-min-microvolt = <800000>; - regulator-max-microvolt = <1500000>; + regulator-min-microvolt = <1250000>; + regulator-max-microvolt = <1250000>; regulator-always-on; regulator-boot-on; regulator-ramp-delay = <12500>; @@ -230,8 +230,8 @@ buck6_reg: BUCK6 { regulator-name = "vdd_kfc"; - regulator-min-microvolt = <800000>; - regulator-max-microvolt = <1500000>; + regulator-min-microvolt = <1275000>; + regulator-max-microvolt = <1275000>; regulator-always-on; regulator-boot-on; regulator-ramp-delay = <12500>;