Message ID | 20240417-drm-msm-initial-dualpipe-dsc-fixes-v1-3-78ae3ee9a697@somainline.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/msm: Initial fixes for DUALPIPE (+DSC) topology | expand |
On Wed, 17 Apr 2024 at 02:57, Marijn Suijten <marijn.suijten@somainline.org> wrote: > > 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> > --- > drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 3 --- > 1 file changed, 3 deletions(-) Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
On 4/16/2024 4:57 PM, Marijn Suijten wrote: > 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> > --- > drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 3 --- > 1 file changed, 3 deletions(-) > Yes, I agree with this, even though I did think earlier that intf master flush was sufficient , I cross-checked the docs and this is the right way. Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c index fc1d5736d7fc..489be1c0c704 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c @@ -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); }
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> --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 3 --- 1 file changed, 3 deletions(-)