Re: [Freedreno] [PATCH] drm/msm/dpu: Remove chatty vbif debug print

Stephen Boyd
2020-11-17T22:53:27Z

Quoting abhinavk@codeaurora.org (2020-11-17 12:34:56)
> On 2020-11-17 09:26, Stephen Boyd wrote:
> > I don't know what this debug print is for but it is super chatty,
> > throwing 8 lines of debug prints in the logs every time we update a
> > plane. It looks like it has no value. Let's nuke it so we can get
> > better logs.
> >
> > Cc: Sean Paul <sean@poorly.run>
> > Cc: Abhinav Kumar <abhinavk@codeaurora.org>
> > Signed-off-by: Stephen Boyd <swboyd@chromium.org>
>
> > ---
> > drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c | 3 ---
> > 1 file changed, 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c
> > b/drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c
> > index 5e8c3f3e6625..5eb2b2ee09f5 100644
> > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c
> > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c
> > @@ -245,9 +245,6 @@ void dpu_vbif_set_qos_remap(struct dpu_kms
> > *dpu_kms,
> > forced_on = mdp->ops.setup_clk_force_ctrl(mdp, params->clk_ctrl,
> > true);
> >
> > for (i = 0; i < qos_tbl->npriority_lvl; i++) {
> > - DPU_DEBUG("vbif:%d xin:%d lvl:%d/%d\n",
> > - params->vbif_idx, params->xin_id, i,
> > - qos_tbl->priority_lvl[i]);
>
> Instead of getting rid of this print, we should optimize the caller of
> this.

Does the print tell us anything? Right now it prints 8 lines where it
feels like it could be trimmed down:

[drm:dpu_vbif_set_qos_remap] vbif:0 xin:0 lvl:0/3
[drm:dpu_vbif_set_qos_remap] vbif:0 xin:0 lvl:1/3
[drm:dpu_vbif_set_qos_remap] vbif:0 xin:0 lvl:2/4
[drm:dpu_vbif_set_qos_remap] vbif:0 xin:0 lvl:3/4
[drm:dpu_vbif_set_qos_remap] vbif:0 xin:0 lvl:4/5
[drm:dpu_vbif_set_qos_remap] vbif:0 xin:0 lvl:5/5
[drm:dpu_vbif_set_qos_remap] vbif:0 xin:0 lvl:6/6
[drm:dpu_vbif_set_qos_remap] vbif:0 xin:0 lvl:7/6

maybe one line that combines the index into values?

[drm:dpu_vbif_set_qos_remap] vbif:0 xin:0 [3 3 4 4 5 5 6 6]

But again I have no idea if this print is really useful. Maybe we can
print it only if the value changes from what was already there?
Basically move the print into dpu_hw_set_qos_remap() and then skip out
early if nothing changed or print and modify the register.

> This is what
> we are doing in downstream. So we need to update the property only if we
> are switching from a RT client
> to non-RT client for the plane and vice-versa. So we should try to do
> the same thing here.
>
> is_rt = sde_crtc_is_rt_client(crtc, crtc->state);
> if (is_rt != psde->is_rt_pipe) {
> psde->is_rt_pipe = is_rt;
> pstate->dirty |= SDE_PLANE_DIRTY_QOS;
> }
>
>
> if (pstate->dirty & DPU_PLANE_DIRTY_QOS)
> _dpu_plane_set_qos_remap(plane);
>

Sounds great! Can you send the patch?