aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiu Ying <Ying.Liu@freescale.com>2014-03-21 03:44:29 -0400
committerNitin Garg <nitin.garg@freescale.com>2014-04-16 09:58:14 -0400
commitd1b0a25b9014699b1d2860f2e53d6e22d2a6ddf5 (patch)
treebdfd063f6579fc4a56c767e23ba7281be69f4f30
parent77ad4ad2b07953e6d2dd434feed5e917aa27759a (diff)
ENGR00305369 video: mxc ldb: disable channel in setup callback
In order to avoid any pixelation issue, we should disable a LVDS channel before its relevant display controlled is enabled. This patch adds logics to disable the LVDS channel in the setup() callback which is invoked before the IPUv3 display controller is disabled and re-enabled. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
-rw-r--r--drivers/video/mxc/ldb.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/video/mxc/ldb.c b/drivers/video/mxc/ldb.c
index 08ca0243a5af..4739df7fcca1 100644
--- a/drivers/video/mxc/ldb.c
+++ b/drivers/video/mxc/ldb.c
@@ -380,6 +380,9 @@ static int find_ldb_chno(struct ldb_data *ldb,
380 return -EINVAL; 380 return -EINVAL;
381} 381}
382 382
383static void ldb_disable(struct mxc_dispdrv_handle *mddh,
384 struct fb_info *fbi);
385
383static int ldb_setup(struct mxc_dispdrv_handle *mddh, 386static int ldb_setup(struct mxc_dispdrv_handle *mddh,
384 struct fb_info *fbi) 387 struct fb_info *fbi)
385{ 388{
@@ -472,6 +475,10 @@ static int ldb_setup(struct mxc_dispdrv_handle *mddh,
472 bus_mux.mask, mux_val); 475 bus_mux.mask, mux_val);
473 476
474 regmap_write(ldb->regmap, ldb->ctrl_reg, ldb->ctrl); 477 regmap_write(ldb->regmap, ldb->ctrl_reg, ldb->ctrl);
478
479 /* disable channel for correct sequence */
480 ldb_disable(mddh, fbi);
481
475 return ret; 482 return ret;
476} 483}
477 484