Merge "disp: msm: sde: disable border color on empty blendstage"
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
20ed4f0785
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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) {
|
||||
|
@@ -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);
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user