disp: msm: add support for no blend planes

Some of the features in the DPU hardware needs planes to be staged but
it should not be blended in the layer mixer. Change adds support for drm
driver client to set the blend type on the plane and updates driver code
to skip staging the plane.

Change-Id: I1e8c7f6ce5617820ea8b24419e0d4d27b481819b
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
这个提交包含在:
Gopikrishnaiah Anandan
2020-01-30 15:44:10 -08:00
父节点 a337e44c28
当前提交 078d42797b
修改 6 个文件,包含 94 行新增33 行删除

查看文件

@@ -806,7 +806,8 @@ static void sde_hw_ctl_clear_all_blendstages(struct sde_hw_ctl *ctx)
}
static void sde_hw_ctl_setup_blendstage(struct sde_hw_ctl *ctx,
enum sde_lm lm, struct sde_hw_stage_cfg *stage_cfg)
enum sde_lm lm, struct sde_hw_stage_cfg *stage_cfg,
struct sde_hw_stage_cfg *active_cfg)
{
struct sde_hw_blk_reg_map *c;
u32 mixercfg = 0, mixercfg_ext = 0, mix, ext;
@@ -939,6 +940,18 @@ static void sde_hw_ctl_setup_blendstage(struct sde_hw_ctl *ctx,
}
}
for (i = 0; i <= stages && active_cfg; i++) {
enum sde_sspp pipe = active_cfg->stage[i][0];
if (pipe == SSPP_NONE)
break;
if (fetch_tbl[pipe] != CTL_INVALID_BIT) {
active_fetch_pipes |= BIT(fetch_tbl[pipe]);
SDE_DEBUG("fetch pipe %d active pipes %x\n",
pipe, active_fetch_pipes);
}
}
exit:
if ((!mixercfg && !mixercfg_ext && !mixercfg_ext2 && !mixercfg_ext3) ||
(stage_cfg && !stage_cfg->stage[0][0]))