From 56789f806f0391b51eb6532716fe3a884cd657a3 Mon Sep 17 00:00:00 2001 From: Mahadevan Date: Mon, 8 Apr 2024 09:47:15 +0530 Subject: [PATCH] disp: msm: sde: clear existing interface configuration for CWB In the primary topology (2 2 1), during a full layer mixer update, CWB requires two layer mixers. However, in the scenario where Commit N has CWB enabled and uses two LMs (Merge3D), and Commit N+1 has a single LM with partial update Merge3D and two CWB and Merge 3D is programmed leads to commit failure. This change addresses the issue by clearing the existing configuration. Change-Id: I8855d761c6eb6ad8809d94872ee961c6a721c541 Signed-off-by: Mahadevan --- msm/sde/sde_encoder_phys_wb.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/msm/sde/sde_encoder_phys_wb.c b/msm/sde/sde_encoder_phys_wb.c index f33c9c5757..3a5e618fe1 100644 --- a/msm/sde/sde_encoder_phys_wb.c +++ b/msm/sde/sde_encoder_phys_wb.c @@ -1828,6 +1828,11 @@ static void sde_encoder_phys_wb_setup(struct sde_encoder_phys *phys_enc) _sde_encoder_phys_wb_setup_ctl(phys_enc, wb_enc->wb_fmt); _sde_encoder_phys_wb_setup_sys_cache(phys_enc, fb); + /* clear existing intf cwb configuration before + * updating for single LM PartialUpdate usecase. + */ + if (_sde_encoder_is_single_lm_partial_update(wb_enc)) + _sde_encoder_phys_wb_setup_cwb(phys_enc, false); _sde_encoder_phys_wb_setup_cwb(phys_enc, true);