aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss/dispc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/omap2/dss/dispc.c')
-rw-r--r--drivers/video/omap2/dss/dispc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
index e7ed1f7bb302..ea9a8481059c 100644
--- a/drivers/video/omap2/dss/dispc.c
+++ b/drivers/video/omap2/dss/dispc.c
@@ -87,6 +87,9 @@ struct dispc_features {
87 87
88 /* no DISPC_IRQ_FRAMEDONETV on this SoC */ 88 /* no DISPC_IRQ_FRAMEDONETV on this SoC */
89 bool no_framedone_tv:1; 89 bool no_framedone_tv:1;
90
91 /* revert to the OMAP4 mechanism of DISPC Smart Standby operation */
92 bool mstandby_workaround:1;
90}; 93};
91 94
92#define DISPC_MAX_NR_FIFOS 5 95#define DISPC_MAX_NR_FIFOS 5
@@ -3490,6 +3493,9 @@ static void _omap_dispc_initial_config(void)
3490 dispc_configure_burst_sizes(); 3493 dispc_configure_burst_sizes();
3491 3494
3492 dispc_ovl_enable_zorder_planes(); 3495 dispc_ovl_enable_zorder_planes();
3496
3497 if (dispc.feat->mstandby_workaround)
3498 REG_FLD_MOD(DISPC_MSTANDBY_CTRL, 1, 0, 0);
3493} 3499}
3494 3500
3495static const struct dispc_features omap24xx_dispc_feats __initconst = { 3501static const struct dispc_features omap24xx_dispc_feats __initconst = {
@@ -3584,6 +3590,7 @@ static const struct dispc_features omap54xx_dispc_feats __initconst = {
3584 .calc_core_clk = calc_core_clk_44xx, 3590 .calc_core_clk = calc_core_clk_44xx,
3585 .num_fifos = 5, 3591 .num_fifos = 5,
3586 .gfx_fifo_workaround = true, 3592 .gfx_fifo_workaround = true,
3593 .mstandby_workaround = true,
3587}; 3594};
3588 3595
3589static int __init dispc_init_features(struct platform_device *pdev) 3596static int __init dispc_init_features(struct platform_device *pdev)