diff options
author | Liu Ying <Ying.Liu@freescale.com> | 2014-03-21 03:44:29 -0400 |
---|---|---|
committer | Nitin Garg <nitin.garg@freescale.com> | 2014-04-16 09:58:14 -0400 |
commit | d1b0a25b9014699b1d2860f2e53d6e22d2a6ddf5 (patch) | |
tree | bdfd063f6579fc4a56c767e23ba7281be69f4f30 | |
parent | 77ad4ad2b07953e6d2dd434feed5e917aa27759a (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.c | 7 |
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 | ||
383 | static void ldb_disable(struct mxc_dispdrv_handle *mddh, | ||
384 | struct fb_info *fbi); | ||
385 | |||
383 | static int ldb_setup(struct mxc_dispdrv_handle *mddh, | 386 | static 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 | ||