Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 72d9fb80 authored by Xiaowen Wu's avatar Xiaowen Wu
Browse files

drm/msm/shd: fix issue when clearing blend stages



Fix the issue that if source split feature is not enabled,
clearing blend stages operation doesn't clear stages for
multirect pipes.

Change-Id: Ia9105483b695cd960dc2aa0c607352513faf9879
Signed-off-by: default avatarXiaowen Wu <wxiaowen@codeaurora.org>
parent 40d4e973
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -103,7 +103,6 @@ static void _sde_shd_hw_ctl_clear_blendstages_in_range(
	u32 mixermask[4] = {0, 0, 0, 0};
	u32 start = hw_ctl->range.start + SDE_STAGE_0;
	u32 end = start + hw_ctl->range.size;
	int pipes_per_stage;
	int i, j;
	u32 value, mask;
	const struct ctl_sspp_stage_reg_map *sspp_cfg;
@@ -117,14 +116,8 @@ static void _sde_shd_hw_ctl_clear_blendstages_in_range(
		mixercfg[1] | mixercfg[2] | mixercfg[3]))
		goto end;

	if (test_bit(SDE_MIXER_SOURCESPLIT,
		&ctx->mixer_hw_caps->features))
		pipes_per_stage = PIPES_PER_STAGE;
	else
		pipes_per_stage = 1;

	for (i = 1; i < SSPP_MAX; i++) {
		for (j = 0 ; j < pipes_per_stage; j++) {
		for (j = 0 ; j < CTL_SSPP_MAX_RECTS; j++) {
			sspp_cfg = &sspp_reg_cfg_tbl[i][j];
			if (!sspp_cfg->bits)
				continue;