summaryrefslogtreecommitdiff
path: root/drivers/video/mxc/mxc_elcdif_fb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/mxc/mxc_elcdif_fb.c')
-rw-r--r--drivers/video/mxc/mxc_elcdif_fb.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/video/mxc/mxc_elcdif_fb.c b/drivers/video/mxc/mxc_elcdif_fb.c
index 023d594b8036..9cfee387b803 100644
--- a/drivers/video/mxc/mxc_elcdif_fb.c
+++ b/drivers/video/mxc/mxc_elcdif_fb.c
@@ -78,6 +78,7 @@ struct mxc_elcdif_fb_data {
struct semaphore flip_sem;
struct fb_var_screeninfo var;
u32 pseudo_palette[16];
+ bool pg_display_mix;
};
struct elcdif_signal_cfg {
@@ -1170,6 +1171,12 @@ static int mxc_elcdif_fb_blank(int blank, struct fb_info *info)
}
if (data->cur_blank != FB_BLANK_UNBLANK) {
+
+ if (data->pg_display_mix) {
+ mxc_elcdif_stop();
+ mxc_elcdif_dma_release();
+ data->running = false;
+ }
if (g_elcdif_axi_clk_enable) {
clk_disable(g_elcdif_axi_clk);
g_elcdif_axi_clk_enable = false;
@@ -1476,6 +1483,8 @@ static int mxc_elcdif_fb_probe(struct platform_device *pdev)
if (ret)
goto err3;
+ data->pg_display_mix = pdata->pg_display_mix;
+
platform_set_drvdata(pdev, fbi);
return 0;