]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00160626 fix system hang when ipu clk get rate
authorYuxi <b36102@freescale.com>
Mon, 24 Oct 2011 06:22:16 +0000 (14:22 +0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:33:17 +0000 (08:33 +0200)
Enable ipu clk when try  get rate

Signed-off-by: Yuxi Sun <b36102@freescale.com>
drivers/mxc/ipu3/ipu_disp.c

index 9094fc64f1099788e0aa9b1e1c06ae249645e5ff..9f33810712465256e1ae1c9ec8d9e1174f0cf4f9 100644 (file)
@@ -59,7 +59,12 @@ static inline struct ipu_soc *pixelclk2ipu(struct clk *clk)
 static unsigned long _ipu_pixel_clk_get_rate(struct clk *clk)
 {
        struct ipu_soc *ipu = pixelclk2ipu(clk);
-       u32 div = ipu_di_read(ipu, clk->id, DI_BS_CLKGEN0);
+       u32 div;
+
+       _ipu_get(ipu);
+       div = ipu_di_read(ipu, clk->id, DI_BS_CLKGEN0);
+       _ipu_put(ipu);
+
        if (div == 0)
                return 0;
        return  (clk_get_rate(clk->parent) * 16) / div;