From: Ranjani Vaidyanathan Date: Sun, 2 Sep 2012 02:31:02 +0000 (-0500) Subject: ENGR00222835 MX6x-Fix incorrect enabling/disabling of PLL1 X-Git-Tag: v3.0.35-fsl~508 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=06fc75bff02a11502fd3c9fbfd3b8932f0dbca94;p=karo-tx-linux.git ENGR00222835 MX6x-Fix incorrect enabling/disabling of PLL1 PLL1 was enabled without incrementing the usecount, and was thus not getting disabled under certain conditions. This causes 2 issues: 1. Increases the power. 2. Causes crashes on MX6SL in audio mode as ARM is switched to PLL1 assuming its in bypass when entering WAIT mode. But PLL1 is enabled and not in bypass state. Signed-off-by: Ranjani Vaidyanathan --- diff --git a/arch/arm/mach-mx6/clock.c b/arch/arm/mach-mx6/clock.c index 8b75aee78964..a3dc7e4aeb1e 100644 --- a/arch/arm/mach-mx6/clock.c +++ b/arch/arm/mach-mx6/clock.c @@ -1334,9 +1334,6 @@ static int _clk_arm_set_rate(struct clk *clk, unsigned long rate) spin_unlock_irqrestore(&clk_lock, flags); return -1; } - /* Need PLL1-MAIN to be ON to write to ARM-PODF bit. */ - if (!pll1_enabled) - pll1_sys_main_clk.enable(&pll1_sys_main_clk); cur_arm_podf = div; diff --git a/arch/arm/mach-mx6/clock_mx6sl.c b/arch/arm/mach-mx6/clock_mx6sl.c index 6bd818ae7139..08212c3c3ecb 100755 --- a/arch/arm/mach-mx6/clock_mx6sl.c +++ b/arch/arm/mach-mx6/clock_mx6sl.c @@ -1239,9 +1239,6 @@ static int _clk_arm_set_rate(struct clk *clk, unsigned long rate) return -1; } - if (!pll1_enabled) - pll1_sys_main_clk.enable(&pll1_sys_main_clk); - cur_arm_podf = div; __raw_writel(div - 1, MXC_CCM_CACRR);