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

Commit 20ed4f07 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "disp: msm: sde: disable border color on empty blendstage"

parents c810238f 9c9159af
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1686,10 +1686,11 @@ static void _sde_crtc_blend_setup(struct drm_crtc *crtc,
					sde_crtc->name, lm->idx - LM_0,
					ctl->idx - CTL_0);
			ctl->ops.setup_blendstage(ctl, mixer[i].hw_lm->idx,
					NULL);
					NULL, true);
		} else {
			ctl->ops.setup_blendstage(ctl, mixer[i].hw_lm->idx,
					&sde_crtc->stage_cfg[lm_layout]);
					&sde_crtc->stage_cfg[lm_layout],
					false);
		}
	}

+1 −1
Original line number Diff line number Diff line
@@ -4173,7 +4173,7 @@ int sde_encoder_helper_reset_mixers(struct sde_encoder_phys *phys_enc,
		/* only enable border color on LM */
		if (phys_enc->hw_ctl->ops.setup_blendstage)
			phys_enc->hw_ctl->ops.setup_blendstage(
				phys_enc->hw_ctl, hw_lm->idx, NULL);
				phys_enc->hw_ctl, hw_lm->idx, NULL, false);
	}

	if (!lm_valid) {
+5 −3
Original line number Diff line number Diff line
@@ -946,7 +946,8 @@ static void _sde_hw_ctl_get_mixer_cfg(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,
	bool disable_border)
{
	struct sde_hw_blk_reg_map *c;
	struct sde_ctl_mixer_cfg cfg = { 0 };
@@ -964,8 +965,9 @@ static void sde_hw_ctl_setup_blendstage(struct sde_hw_ctl *ctx,
	if (stage_cfg)
		_sde_hw_ctl_get_mixer_cfg(ctx, stage_cfg, stages, &cfg);

	if ((!cfg.cfg && !cfg.ext && !cfg.ext2 && !cfg.ext3) ||
			(stage_cfg && !stage_cfg->stage[0][0]))
	if (!disable_border &&
			((!cfg.cfg && !cfg.ext && !cfg.ext2 && !cfg.ext3) ||
			(stage_cfg && !stage_cfg->stage[0][0])))
		cfg.cfg |= CTL_MIXER_BORDER_OUT;

	SDE_REG_WRITE(c, CTL_LAYER(lm), cfg.cfg);
+6 −4
Original line number Diff line number Diff line
@@ -426,9 +426,11 @@ struct sde_hw_ctl_ops {
	 * @ctx           : ctl path ctx pointer
	 * @lm            : layer mixer enumeration
	 * @cfg           : blend stage configuration
	 * @disable_border: if true disable border, else enable border out
	 */
	void (*setup_blendstage)(struct sde_hw_ctl *ctx,
		enum sde_lm lm, struct sde_hw_stage_cfg *cfg);
		enum sde_lm lm, struct sde_hw_stage_cfg *cfg,
		bool disable_border);

	/**
	 * Get all the sspp staged on a layer mixer