Commit e6b0f884 authored by Tomi Valkeinen's avatar Tomi Valkeinen

OMAPDSS: FEAT: Add FIFO_MERGE feature

Add feature flag for fifo merge. OMAP2 doesn't contain fifo merge, later
OMAPs do.

dispc_enable_fifomerge() checks for the flag when called, and gives a
WARN if fifo merge is being enabled when it is not supported.
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent dcd6c922
...@@ -1054,6 +1054,11 @@ void dispc_ovl_set_fifo_threshold(enum omap_plane plane, u32 low, u32 high) ...@@ -1054,6 +1054,11 @@ void dispc_ovl_set_fifo_threshold(enum omap_plane plane, u32 low, u32 high)
void dispc_enable_fifomerge(bool enable) void dispc_enable_fifomerge(bool enable)
{ {
if (!dss_has_feature(FEAT_FIFO_MERGE)) {
WARN_ON(enable);
return;
}
DSSDBG("FIFO merge %s\n", enable ? "enabled" : "disabled"); DSSDBG("FIFO merge %s\n", enable ? "enabled" : "disabled");
REG_FLD_MOD(DISPC_CONFIG, enable ? 1 : 0, 14, 14); REG_FLD_MOD(DISPC_CONFIG, enable ? 1 : 0, 14, 14);
} }
......
...@@ -370,7 +370,7 @@ static const struct omap_dss_features omap3430_dss_features = { ...@@ -370,7 +370,7 @@ static const struct omap_dss_features omap3430_dss_features = {
FEAT_LINEBUFFERSPLIT | FEAT_RESIZECONF | FEAT_LINEBUFFERSPLIT | FEAT_RESIZECONF |
FEAT_DSI_PLL_FREQSEL | FEAT_DSI_REVERSE_TXCLKESC | FEAT_DSI_PLL_FREQSEL | FEAT_DSI_REVERSE_TXCLKESC |
FEAT_VENC_REQUIRES_TV_DAC_CLK | FEAT_CPR | FEAT_PRELOAD | FEAT_VENC_REQUIRES_TV_DAC_CLK | FEAT_CPR | FEAT_PRELOAD |
FEAT_FIR_COEF_V | FEAT_ALPHA_FIXED_ZORDER, FEAT_FIR_COEF_V | FEAT_ALPHA_FIXED_ZORDER | FEAT_FIFO_MERGE,
.num_mgrs = 2, .num_mgrs = 2,
.num_ovls = 3, .num_ovls = 3,
...@@ -394,7 +394,7 @@ static const struct omap_dss_features omap3630_dss_features = { ...@@ -394,7 +394,7 @@ static const struct omap_dss_features omap3630_dss_features = {
FEAT_ROWREPEATENABLE | FEAT_LINEBUFFERSPLIT | FEAT_ROWREPEATENABLE | FEAT_LINEBUFFERSPLIT |
FEAT_RESIZECONF | FEAT_DSI_PLL_PWR_BUG | FEAT_RESIZECONF | FEAT_DSI_PLL_PWR_BUG |
FEAT_DSI_PLL_FREQSEL | FEAT_CPR | FEAT_PRELOAD | FEAT_DSI_PLL_FREQSEL | FEAT_CPR | FEAT_PRELOAD |
FEAT_FIR_COEF_V | FEAT_ALPHA_FIXED_ZORDER, FEAT_FIR_COEF_V | FEAT_ALPHA_FIXED_ZORDER | FEAT_FIFO_MERGE,
.num_mgrs = 2, .num_mgrs = 2,
.num_ovls = 3, .num_ovls = 3,
...@@ -419,7 +419,7 @@ static const struct omap_dss_features omap4430_es1_0_dss_features = { ...@@ -419,7 +419,7 @@ static const struct omap_dss_features omap4430_es1_0_dss_features = {
FEAT_DSI_DCS_CMD_CONFIG_VC | FEAT_DSI_VC_OCP_WIDTH | FEAT_DSI_DCS_CMD_CONFIG_VC | FEAT_DSI_VC_OCP_WIDTH |
FEAT_DSI_GNQ | FEAT_HANDLE_UV_SEPARATE | FEAT_ATTR2 | FEAT_DSI_GNQ | FEAT_HANDLE_UV_SEPARATE | FEAT_ATTR2 |
FEAT_CPR | FEAT_PRELOAD | FEAT_FIR_COEF_V | FEAT_CPR | FEAT_PRELOAD | FEAT_FIR_COEF_V |
FEAT_ALPHA_FREE_ZORDER, FEAT_ALPHA_FREE_ZORDER | FEAT_FIFO_MERGE,
.num_mgrs = 3, .num_mgrs = 3,
.num_ovls = 4, .num_ovls = 4,
...@@ -443,7 +443,8 @@ static const struct omap_dss_features omap4_dss_features = { ...@@ -443,7 +443,8 @@ static const struct omap_dss_features omap4_dss_features = {
FEAT_DSI_DCS_CMD_CONFIG_VC | FEAT_DSI_VC_OCP_WIDTH | FEAT_DSI_DCS_CMD_CONFIG_VC | FEAT_DSI_VC_OCP_WIDTH |
FEAT_DSI_GNQ | FEAT_HDMI_CTS_SWMODE | FEAT_DSI_GNQ | FEAT_HDMI_CTS_SWMODE |
FEAT_HANDLE_UV_SEPARATE | FEAT_ATTR2 | FEAT_CPR | FEAT_HANDLE_UV_SEPARATE | FEAT_ATTR2 | FEAT_CPR |
FEAT_PRELOAD | FEAT_FIR_COEF_V | FEAT_ALPHA_FREE_ZORDER, FEAT_PRELOAD | FEAT_FIR_COEF_V | FEAT_ALPHA_FREE_ZORDER |
FEAT_FIFO_MERGE,
.num_mgrs = 3, .num_mgrs = 3,
.num_ovls = 4, .num_ovls = 4,
......
...@@ -58,6 +58,7 @@ enum dss_feat_id { ...@@ -58,6 +58,7 @@ enum dss_feat_id {
FEAT_FIR_COEF_V = 1 << 25, FEAT_FIR_COEF_V = 1 << 25,
FEAT_ALPHA_FIXED_ZORDER = 1 << 26, FEAT_ALPHA_FIXED_ZORDER = 1 << 26,
FEAT_ALPHA_FREE_ZORDER = 1 << 27, FEAT_ALPHA_FREE_ZORDER = 1 << 27,
FEAT_FIFO_MERGE = 1 << 28,
}; };
/* DSS register field id */ /* DSS register field id */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment