[Freedreno] [RFC 4/4] drm/msm/dpu: add wb_idx to DRM traces in dpu_encoder
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Thu Apr 21 22:48:42 UTC 2022
On 21/04/2022 23:48, Abhinav Kumar wrote:
> Change the DRM traces to include both the intf_mode
> and wb_idx similar to the DRM prints in the previous change.
>
> Signed-off-by: Abhinav Kumar <quic_abhinavk at quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
> ---
> drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 13 ++++++++-----
> drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h | 26 ++++++++++++++++++--------
> 2 files changed, 26 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> index 871ce87..42affd3 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> @@ -1345,8 +1345,9 @@ static void dpu_encoder_frame_done_callback(
> * suppress frame_done without waiter,
> * likely autorefresh
> */
> - trace_dpu_enc_frame_done_cb_not_busy(DRMID(drm_enc),
> - event, ready_phys->intf_idx);
> + trace_dpu_enc_frame_done_cb_not_busy(DRMID(drm_enc), event,
> + dpu_encoder_helper_get_intf_type(ready_phys->intf_mode),
> + ready_phys->intf_idx, ready_phys->wb_idx);
> return;
> }
>
> @@ -1424,9 +1425,11 @@ static void _dpu_encoder_trigger_flush(struct drm_encoder *drm_enc,
> if (ctl->ops.get_pending_flush)
> ret = ctl->ops.get_pending_flush(ctl);
>
> - trace_dpu_enc_trigger_flush(DRMID(drm_enc), phys->intf_idx,
> - pending_kickoff_cnt, ctl->idx,
> - extra_flush_bits, ret);
> + trace_dpu_enc_trigger_flush(DRMID(drm_enc),
> + dpu_encoder_helper_get_intf_type(phys->intf_mode),
> + phys->intf_idx, phys->wb_idx,
> + pending_kickoff_cnt, ctl->idx,
> + extra_flush_bits, ret);
> }
>
> /**
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> index 58b411f..1106d44 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> @@ -380,20 +380,26 @@ TRACE_EVENT(dpu_enc_rc,
> );
>
> TRACE_EVENT(dpu_enc_frame_done_cb_not_busy,
> - TP_PROTO(uint32_t drm_id, u32 event, enum dpu_intf intf_idx),
> - TP_ARGS(drm_id, event, intf_idx),
> + TP_PROTO(uint32_t drm_id, u32 event, char *intf_mode, enum dpu_intf intf_idx,
> + enum dpu_wb wb_idx),
> + TP_ARGS(drm_id, event, intf_mode, intf_idx, wb_idx),
> TP_STRUCT__entry(
> __field( uint32_t, drm_id )
> __field( u32, event )
> + __string( intf_mode_str, intf_mode )
> __field( enum dpu_intf, intf_idx )
> + __field( enum dpu_wb, wb_idx )
> ),
> TP_fast_assign(
> __entry->drm_id = drm_id;
> __entry->event = event;
> + __assign_str(intf_mode_str, intf_mode);
> __entry->intf_idx = intf_idx;
> + __entry->wb_idx = wb_idx;
> ),
> - TP_printk("id=%u, event=%u, intf=%d", __entry->drm_id, __entry->event,
> - __entry->intf_idx)
> + TP_printk("id=%u, event=%u, intf_mode=%s intf=%d wb=%d", __entry->drm_id,
> + __entry->event, __get_str(intf_mode_str),
> + __entry->intf_idx, __entry->wb_idx)
> );
>
> TRACE_EVENT(dpu_enc_frame_done_cb,
> @@ -415,14 +421,16 @@ TRACE_EVENT(dpu_enc_frame_done_cb,
> );
>
> TRACE_EVENT(dpu_enc_trigger_flush,
> - TP_PROTO(uint32_t drm_id, enum dpu_intf intf_idx,
> + TP_PROTO(uint32_t drm_id, char *intf_mode, enum dpu_intf intf_idx, enum dpu_wb wb_idx,
> int pending_kickoff_cnt, int ctl_idx, u32 extra_flush_bits,
> u32 pending_flush_ret),
> - TP_ARGS(drm_id, intf_idx, pending_kickoff_cnt, ctl_idx,
> + TP_ARGS(drm_id, intf_mode, intf_idx, pending_kickoff_cnt, ctl_idx,
> extra_flush_bits, pending_flush_ret),
> TP_STRUCT__entry(
> __field( uint32_t, drm_id )
> + __string( intf_mode_str, intf_mode )
> __field( enum dpu_intf, intf_idx )
> + __field( enum dpu_wb, wb_idx )
> __field( int, pending_kickoff_cnt )
> __field( int, ctl_idx )
> __field( u32, extra_flush_bits )
> @@ -430,15 +438,17 @@ TRACE_EVENT(dpu_enc_trigger_flush,
> ),
> TP_fast_assign(
> __entry->drm_id = drm_id;
> + __assign_str(intf_mode_str, intf_mode);
> __entry->intf_idx = intf_idx;
> + __entry->wb_idx = wb_idx;
> __entry->pending_kickoff_cnt = pending_kickoff_cnt;
> __entry->ctl_idx = ctl_idx;
> __entry->extra_flush_bits = extra_flush_bits;
> __entry->pending_flush_ret = pending_flush_ret;
> ),
> - TP_printk("id=%u, intf_idx=%d, pending_kickoff_cnt=%d ctl_idx=%d "
> + TP_printk("id=%u, intf_mode=%s, intf_idx=%d, wb_idx=%d, pending_kickoff_cnt=%d ctl_idx=%d "
> "extra_flush_bits=0x%x pending_flush_ret=0x%x",
> - __entry->drm_id, __entry->intf_idx,
> + __entry->drm_id, __get_str(intf_mode_str), __entry->intf_idx, __entry->wb_idx,
> __entry->pending_kickoff_cnt, __entry->ctl_idx,
> __entry->extra_flush_bits, __entry->pending_flush_ret)
> );
--
With best wishes
Dmitry
More information about the Freedreno
mailing list