clk: samsung: exynos4: Disable ARMCLK down feature on Exynos4210 SoC
Subsystems (4)
PATCH 1/1 clk: samsung: exynos4: Disable ARMCLK down feature on Exynos4210 SoC
Commit 42773b28e71d ("clk: samsung: exynos4: Enable ARMCLK down feature") enabled ARMCLK down feature on all Exynos4 SoCs. Unfortunately on Exynos4210 SoC ARMCLK down feature causes a lockup when ondemand cpufreq governor is used. Fix it by limiting ARMCLK down feature to Exynos4x12 SoCs.
This patch was tested on:
- Exynos4210 SoC based Trats board
- Exynos4210 SoC based Origen board
- Exynos4412 SoC based Trats2 board
- Exynos4412 SoC based Odroid-U3 board
--- drivers/clk/samsung/clk-exynos4.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
drivers/clk/samsung/clk-exynos4.c +5 -6
@@ -1354,7 +1354,7 @@ static struct samsung_pll_clock exynos4x12_plls[nr_plls] __initdata = { VPLL_LOCK, VPLL_CON0, NULL), }; -static void __init exynos4_core_down_clock (enum exynos4_soc soc) +static void __init exynos4x12_core_down_clock (void ) {unsigned int tmp;
@@ -1373,11 +1373,9 @@ static void __init exynos4_core_down_clock(enum exynos4_soc soc)__raw_writel (tmp, reg_base +PWR_CTRL1 );/* -* Disable the clock up feature on Exynos4x12, in case it was -* enabled by bootloader. +* Disable the clock up feature in case it was enabled by bootloader. */ -if (exynos4_soc ==EXYNOS4X12 ) -__raw_writel (0x0 , reg_base +E4X12_PWR_CTRL2 ); +__raw_writel (0x0 , reg_base +E4X12_PWR_CTRL2 ); }/* register exynos4 clocks */
@@ -1474,7 +1472,8 @@ static void __init exynos4_clk_init(struct device_node *np,samsung_clk_register_alias (ctx, exynos4_aliases,ARRAY_SIZE (exynos4_aliases)); -exynos4_core_down_clock (soc); +if (soc ==EXYNOS4X12 ) +exynos4x12_core_down_clock ();exynos4_clk_sleep_init ();samsung_clk_of_add_provider (np, ctx);
Signature · 1 line
1.7.9.5
2015-03-27 17:27 GMT+01:00 Bartlomiej Zolnierkiewicz <[email protected]>:
Quoted 19 lines
Commit
42773b28e71d("clk: samsung: exynos4: Enable ARMCLK down feature") enabled ARMCLK down feature on all Exynos4 SoCs. Unfortunately on Exynos4210 SoC ARMCLK down feature causes a lockup when ondemand cpufreq governor is used. Fix it by limiting ARMCLK down feature to Exynos4x12 SoCs.This patch was tested on:
- Exynos4210 SoC based Trats board
- Exynos4210 SoC based Origen board
- Exynos4412 SoC based Trats2 board
- Exynos4412 SoC based Odroid-U3 boardCc Krzysztof Kozlowski <[email protected]>Cc Daniel Drake <[email protected]>Cc Tomasz Figa <[email protected]>Cc Kukjin Kim <[email protected]>Fixes 42773b28e71d ("clk: samsung: exynos4: Enable ARMCLK down feature")Cc <[email protected]> # v3.17+Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
Quoted 3 lines
--- drivers/clk/samsung/clk-exynos4.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
Best regards,
Krzysztof
Michael Turquette
AppliedQuoting Krzysztof Kozlowski (2015-03-28 09:37:05)
Quoted 24 lines
2015-03-27 17:27 GMT+01:00 Bartlomiej Zolnierkiewicz <[email protected]>:
Quoted 19 lines
Commit
42773b28e71d("clk: samsung: exynos4: Enable ARMCLK down feature") enabled ARMCLK down feature on all Exynos4 SoCs. Unfortunately on Exynos4210 SoC ARMCLK down feature causes a lockup when ondemand cpufreq governor is used. Fix it by limiting ARMCLK down feature to Exynos4x12 SoCs.This patch was tested on:
- Exynos4210 SoC based Trats board
- Exynos4210 SoC based Origen board
- Exynos4412 SoC based Trats2 board
- Exynos4412 SoC based Odroid-U3 boardCc Krzysztof Kozlowski <[email protected]>Cc Daniel Drake <[email protected]>Cc Tomasz Figa <[email protected]>Cc Kukjin Kim <[email protected]>Fixes 42773b28e71d ("clk: samsung: exynos4: Enable ARMCLK down feature")Cc <[email protected]> # v3.17+Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>Quoted 3 lines
--- drivers/clk/samsung/clk-exynos4.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
Quoted 1 line
Reviewed-by Krzysztof Kozlowski <[email protected]>
Applied.
Thanks,
Mike
Quoted 3 lines
Best regards,
Krzysztof