]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00156996 ipuv3: fix pixel clock look up table
authorJason Chen <b02280@freescale.com>
Mon, 19 Sep 2011 05:57:12 +0000 (13:57 +0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:33:14 +0000 (08:33 +0200)
if there are two ipu, they will use same pixel look up table.
which will confuse get_clk

Signed-off-by: Jason Chen <b02280@freescale.com>
drivers/mxc/ipu3/ipu_common.c
drivers/mxc/ipu3/ipu_disp.c
drivers/mxc/ipu3/ipu_prv.h

index 33e0837f4f9a8a142c2a7ced84dd7e7b118075ce..0911a15f480a295c561e222209f42370dc84db61 100644 (file)
@@ -134,10 +134,12 @@ static int __devinit ipu_clk_setup_enable(struct ipu_soc *ipu,
        ipu->pixel_clk[0] = ipu_pixel_clk[0];
        ipu->pixel_clk[1] = ipu_pixel_clk[1];
 
-       ipu_lookups[0].clk = &ipu->pixel_clk[0];
-       ipu_lookups[1].clk = &ipu->pixel_clk[1];
-       clkdev_add(&ipu_lookups[0]);
-       clkdev_add(&ipu_lookups[1]);
+       ipu_lookups[pdev->id][0].clk = &ipu->pixel_clk[0];
+       ipu_lookups[pdev->id][1].clk = &ipu->pixel_clk[1];
+       ipu_lookups[pdev->id][0].dev_id = dev_name(ipu->dev);
+       ipu_lookups[pdev->id][1].dev_id = dev_name(ipu->dev);
+       clkdev_add(&ipu_lookups[pdev->id][0]);
+       clkdev_add(&ipu_lookups[pdev->id][1]);
 
        clk_debug_register(&ipu->pixel_clk[0]);
        clk_debug_register(&ipu->pixel_clk[1]);
index 9e83dc5679e27b3352287ce8ab64eaa13b2b5899..9094fc64f1099788e0aa9b1e1c06ae249645e5ff 100644 (file)
@@ -176,14 +176,22 @@ struct clk ipu_pixel_clk[] = {
        },
 };
 
-struct clk_lookup ipu_lookups[] = {
+struct clk_lookup ipu_lookups[MXC_IPU_MAX_NUM][2] = {
        {
-               .dev_id = NULL,
-               .con_id = "pixel_clk_0",
+               {
+                       .con_id = "pixel_clk_0",
+               },
+               {
+                       .con_id = "pixel_clk_1",
+               },
        },
        {
-               .dev_id = NULL,
-               .con_id = "pixel_clk_1",
+               {
+                       .con_id = "pixel_clk_0",
+               },
+               {
+                       .con_id = "pixel_clk_1",
+               },
        },
 };
 
index c2d44e6efdb48ca5953d4e42babc50c6c6c5670a..7a17a0ea4d078c74a16e35462369b816d3d23a22 100644 (file)
@@ -29,7 +29,7 @@
 /* Globals */
 extern int dmfc_type_setup;
 extern struct clk ipu_pixel_clk[];
-extern struct clk_lookup ipu_lookups[];
+extern struct clk_lookup ipu_lookups[MXC_IPU_MAX_NUM][2];
 
 #define IDMA_CHAN_INVALID      0xFF
 #define HIGH_RESOLUTION_WIDTH  1024