Prechádzať zdrojové kódy

[ARM] OMAP3: PM: Make sure clk_disable_unused() order is correct

Current implementation will disable clocks in the order defined in clock34xx.h,
at least DPLL4_M2X2 will hang in certain cases (and prevent retention / off)
if clocks are not disabled in correct order. This patch makes sure the parent
clocks will be active when disabling a clock.

linux-omap source commit is 672680063420ef8c8c4e7271984bb9cc08171d29.

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Tero Kristo 16 rokov pred
rodič
commit
8463e20a58
1 zmenil súbory, kde vykonal 5 pridanie a 1 odobranie
  1. 5 1
      arch/arm/mach-omap2/clock.c

+ 5 - 1
arch/arm/mach-omap2/clock.c

@@ -1000,6 +1000,10 @@ void omap2_clk_disable_unused(struct clk *clk)
 		return;
 
 	printk(KERN_INFO "Disabling unused clock \"%s\"\n", clk->name);
-	_omap2_clk_disable(clk);
+	if (cpu_is_omap34xx()) {
+		omap2_clk_enable(clk);
+		omap2_clk_disable(clk);
+	} else
+		_omap2_clk_disable(clk);
 }
 #endif