drm/msm/dpu: Always flush the slave INTF on the CTL
authorMarijn Suijten <marijn.suijten@somainline.org>
Tue, 16 Apr 2024 23:57:43 +0000 (01:57 +0200)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Mon, 22 Apr 2024 13:22:50 +0000 (16:22 +0300)
As we can clearly see in a downstream kernel [1], flushing the slave INTF
is skipped /only if/ the PPSPLIT topology is active.

However, when DPU was originally submitted to mainline PPSPLIT was no
longer part of it (seems to have been ripped out before submission), but
this clause was incorrectly ported from the original SDE driver.  Given
that there is no support for PPSPLIT (currently), flushing the slave
INTF should /never/ be skipped (as the `if (ppsplit && !master) goto
skip;` clause downstream never becomes true).

[1]: https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers/-/blob/display-kernel.lnx.5.4.r1-rel/msm/sde/sde_encoder_phys_cmd.c?ref_type=heads#L1131-1139

Fixes: 25fdd5933e4c ("drm/msm: Add SDM845 DPU support")
Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/589901/
Link: https://lore.kernel.org/r/20240417-drm-msm-initial-dualpipe-dsc-fixes-v1-3-78ae3ee9a697@somainline.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c

index fc1d5736d7fcc33cdefad68e5b052b7146601c41..489be1c0c7046f1c886d35411420cef475e1a780 100644 (file)
@@ -448,9 +448,6 @@ static void dpu_encoder_phys_cmd_enable_helper(
 
        _dpu_encoder_phys_cmd_pingpong_config(phys_enc);
 
-       if (!dpu_encoder_phys_cmd_is_master(phys_enc))
-               return;
-
        ctl = phys_enc->hw_ctl;
        ctl->ops.update_pending_flush_intf(ctl, phys_enc->hw_intf->idx);
 }