MLK-16197-6 video: fbdev: dcss: move 'dcss_dtg_start' call to probe
authorFancy Fang <chen.fang@nxp.com>
Wed, 16 Aug 2017 07:59:03 +0000 (15:59 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:36:34 +0000 (15:36 -0500)
Move the 'dcss_dtg_start' calling to probe stage which
can service the fifo commits generated in probe stage
in time.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
drivers/video/fbdev/mxc/imx_dcss.c

index 0ab29b5..9c095d5 100644 (file)
@@ -1959,6 +1959,8 @@ static int dcss_dtg_start(struct dcss_info *info)
 
        writel(0xff000100, info->base + chans->dtg_addr + 0x0);
 
+       info->dcss_state = DCSS_STATE_RUNNING;
+
        return 0;
 }
 
@@ -2813,21 +2815,6 @@ static int dcss_blank(int blank, struct fb_info *fbi)
                        goto out;
                }
 #endif
-
-#if USE_CTXLD
-               if (!fb_node) {
-                       /* start global timing */
-                       if (info->dcss_state == DCSS_STATE_RESET) {
-                               ret = dcss_dtg_start(info);
-                               if (ret) {
-                                       dev_err(&pdev->dev, "start dtg failed\n");
-                                       goto out;
-                               }
-
-                               info->dcss_state = DCSS_STATE_RUNNING;
-                       }
-               }
-#endif
        } else {
                dcss_channel_blank(blank, cinfo);
 #if USE_CTXLD
@@ -3253,6 +3240,10 @@ static int dcss_probe(struct platform_device *pdev)
 
        dcss_interrupts_init(info);
 
+       ret = dcss_dtg_start(info);
+       if (ret)
+               goto kfree_info;
+
        /* register channel 0: graphic */
        ret = dcss_register_one_ch(0, info);
        if (ret)