drm/msm/sde: clear blend stages of all mixers
Currently the blending stages of all the mixers is not cleared when switching mixer configurations or configuring solid fill mode. As a result stale pipes remain connected when switching mixer configurations causing smmu faults. Fix the logic to clear the blend stages of all the mixers. Change-Id: I1a3c5a020d6bc04657cb5357a2cd60c1a53ce4c7 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
This commit is contained in:
parent
55cc722ec6
commit
19e1a4c6c4
1 changed files with 9 additions and 2 deletions
|
@ -21,6 +21,9 @@
|
|||
(0x40 + (((lm) - LM_0) * 0x004))
|
||||
#define CTL_LAYER_EXT2(lm) \
|
||||
(0x70 + (((lm) - LM_0) * 0x004))
|
||||
#define CTL_LAYER_EXT3(lm) \
|
||||
(0xA0 + (((lm) - LM_0) * 0x004))
|
||||
|
||||
#define CTL_TOP 0x014
|
||||
#define CTL_FLUSH 0x018
|
||||
#define CTL_START 0x01C
|
||||
|
@ -315,8 +318,12 @@ static void sde_hw_ctl_clear_all_blendstages(struct sde_hw_ctl *ctx)
|
|||
int i;
|
||||
|
||||
for (i = 0; i < ctx->mixer_count; i++) {
|
||||
SDE_REG_WRITE(c, CTL_LAYER(LM_0 + i), 0);
|
||||
SDE_REG_WRITE(c, CTL_LAYER_EXT(LM_0 + i), 0);
|
||||
int mixer_id = ctx->mixer_hw_caps[i].id;
|
||||
|
||||
SDE_REG_WRITE(c, CTL_LAYER(mixer_id), 0);
|
||||
SDE_REG_WRITE(c, CTL_LAYER_EXT(mixer_id), 0);
|
||||
SDE_REG_WRITE(c, CTL_LAYER_EXT2(mixer_id), 0);
|
||||
SDE_REG_WRITE(c, CTL_LAYER_EXT3(mixer_id), 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue