diff options
Diffstat (limited to 'drivers/video/omap2/dss/dispc.c')
-rw-r--r-- | drivers/video/omap2/dss/dispc.c | 7 |
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 | ||
3495 | static const struct dispc_features omap24xx_dispc_feats __initconst = { | 3501 | static 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 | ||
3589 | static int __init dispc_init_features(struct platform_device *pdev) | 3596 | static int __init dispc_init_features(struct platform_device *pdev) |