Thanks for your email. Can you help share some details. 1) https://termbin.com/31lc , I am unable to open the link in my office network, can you copy the logs in a text file and share with me. 2) Which DPU version are you trying from the catalogue, can you share the version ? 3) The patch will fail the atomic_check, if the commit is requesting for a CTM, and there are no dspp HW blocks to reserve. Can you check in your catalogue entry that you have sufficient dspp resources to LM Thanks, Kalyan >-----Original Message----- >From: Yongqin Liu <yongqin.liu@xxxxxxxxxx> >Sent: Saturday, June 10, 2023 3:57 PM >To: Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>; Kalyan Thota (QUIC) ><quic_kalyant@xxxxxxxxxxx> >Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx; linux-arm-msm@xxxxxxxxxxxxxxx; >freedreno@xxxxxxxxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux- >kernel@xxxxxxxxxxxxxxx; robdclark@xxxxxxxxxxxx; dianders@xxxxxxxxxxxx; >swboyd@xxxxxxxxxxxx; Vinod Polimera (QUIC) <quic_vpolimer@xxxxxxxxxxx>; >dmitry.baryshkov@xxxxxxxxxx; Abhinav Kumar (QUIC) ><quic_abhinavk@xxxxxxxxxxx>; Amit Pundir <amit.pundir@xxxxxxxxxx>; Sumit >Semwal <sumit.semwal@xxxxxxxxxx>; John Stultz <jstultz@xxxxxxxxxx> >Subject: Re: [PATCH v4 2/4] drm/msm/dpu: add DSPPs into reservation upon a >CTM request > >WARNING: This email originated from outside of Qualcomm. Please be wary of any >links or attachments, and do not enable macros. > >Hi, Kalyan Thota > >It seems this change caused some drm problems with the Android build. >I tested with one Android build that based on the ACK android-mainline kernel[1], >and there are the message printed like > 01-01 06:51:50.541 504 504 E : >[drm:_dpu_rm_check_lm_and_get_connected_blks] [dpu error]failed to get dspp >on lm 0 > 01-01 06:51:50.551 504 504 E : >[drm:_dpu_rm_check_lm_and_get_connected_blks] [dpu error]failed to get dspp >on lm 0 > 01-01 06:51:50.560 504 504 E : >[drm:_dpu_rm_check_lm_and_get_connected_blks] [dpu error]failed to get dspp >on lm 0 > 01-01 06:51:50.570 504 504 E : >[drm:_dpu_rm_check_lm_and_get_connected_blks] [dpu error]failed to get dspp >on lm 0 > 01-01 06:51:50.579 504 504 E : >[drm:_dpu_rm_make_reservation] [dpu error]unable to find appropriate mixers > 01-01 06:51:50.588 504 504 E : [drm:dpu_rm_reserve] >[dpu error]failed to reserve hw resources: -119 For details, please check the link >here: https://termbin.com/31lc > >If I revert this commit, then the problem will be gone. >Could you please help check if there is any problem with this commit? > >[1]: https://android.googlesource.com/kernel/common/+/refs/heads/android- >mainline > >Thanks, >Yongqin Liu > >On Wed, 1 Mar 2023 at 16:24, Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx> >wrote: >> >> On 2023-02-13 03:11:42, Kalyan Thota wrote: >> > Add DSPP blocks into the topology for reservation, if there is a CTM >> > request for that composition. >> > >> > Signed-off-by: Kalyan Thota <quic_kalyant@xxxxxxxxxxx> >> > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> >> >> Reviewed-by: Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx> >> >> > --- >> > Changes in v1: >> > - Minor nits (Dmitry) >> > >> > Changes in v2: >> > - Populate DSPPs into the reservation only if CTM is requested >> > (Dmitry) >> > --- >> > drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 15 ++++++--------- >> > 1 file changed, 6 insertions(+), 9 deletions(-) >> > >> > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c >> > b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c >> > index 9c6817b..46d2a5c 100644 >> > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c >> > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c >> > @@ -545,7 +545,8 @@ bool dpu_encoder_use_dsc_merge(struct >> > drm_encoder *drm_enc) static struct msm_display_topology >dpu_encoder_get_topology( >> > struct dpu_encoder_virt *dpu_enc, >> > struct dpu_kms *dpu_kms, >> > - struct drm_display_mode *mode) >> > + struct drm_display_mode *mode, >> > + struct drm_crtc_state *crtc_state) >> > { >> > struct msm_display_topology topology = {0}; >> > int i, intf_count = 0; >> > @@ -563,8 +564,7 @@ static struct msm_display_topology >dpu_encoder_get_topology( >> > * 1 LM, 1 INTF >> > * 2 LM, 1 INTF (stream merge to support high resolution interfaces) >> > * >> > - * Adding color blocks only to primary interface if available in >> > - * sufficient number >> > + * Add dspps to the reservation requirements if ctm is >> > + requested >> > */ >> > if (intf_count == 2) >> > topology.num_lm = 2; >> > @@ -573,11 +573,8 @@ static struct msm_display_topology >dpu_encoder_get_topology( >> > else >> > topology.num_lm = (mode->hdisplay > >> > MAX_HDISPLAY_SPLIT) ? 2 : 1; >> > >> > - if (dpu_enc->disp_info.intf_type == DRM_MODE_ENCODER_DSI) { >> > - if (dpu_kms->catalog->dspp && >> > - (dpu_kms->catalog->dspp_count >= topology.num_lm)) >> > - topology.num_dspp = topology.num_lm; >> > - } >> > + if (crtc_state->ctm) >> > + topology.num_dspp = topology.num_lm; >> > >> > topology.num_enc = 0; >> > topology.num_intf = intf_count; @@ -643,7 +640,7 @@ static int >> > dpu_encoder_virt_atomic_check( >> > } >> > } >> > >> > - topology = dpu_encoder_get_topology(dpu_enc, dpu_kms, adj_mode); >> > + topology = dpu_encoder_get_topology(dpu_enc, dpu_kms, >> > + adj_mode, crtc_state); >> > >> > /* Reserve dynamic resources now. */ >> > if (!ret) { >> > -- >> > 2.7.4 >> > > > > >-- >Best Regards, >Yongqin Liu >--------------------------------------------------------------- >#mailing list >linaro-android@xxxxxxxxxxxxxxxx >http://lists.linaro.org/mailman/listinfo/linaro-android