[Freedreno] [DPU PATCH 03/19] drm/msm: dpu_plane: Replace DPU_EVT with tracepoints
ryadav at codeaurora.org
ryadav at codeaurora.org
Tue Jun 26 06:39:10 UTC 2018
On 2018-06-21 02:18, Sean Paul wrote:
> This patch converts all DPU_EVTs in dpu_plane with either a DRM_* log
> message or a linux tracepoint.
>
> Signed-off-by: Sean Paul <seanpaul at chromium.org>
Reviewed-by: Rajesh Yadav <ryadav at codeaurora.org>
> ---
> drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 19 +++-------
> drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h | 44 +++++++++++++++++++++++
> 2 files changed, 49 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
> b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
> index 6090ace6012a..2c3dc00477b3 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
> @@ -609,18 +609,9 @@ static inline void _dpu_plane_set_scanout(struct
> drm_plane *plane,
> else if (ret)
> DPU_ERROR_PLANE(pdpu, "failed to get format layout, %d\n", ret);
> else if (pdpu->pipe_hw->ops.setup_sourceaddress) {
> - DPU_EVT32_VERBOSE(pdpu->pipe_hw->idx,
> - pipe_cfg->layout.width,
> - pipe_cfg->layout.height,
> - pipe_cfg->layout.plane_addr[0],
> - pipe_cfg->layout.plane_size[0],
> - pipe_cfg->layout.plane_addr[1],
> - pipe_cfg->layout.plane_size[1],
> - pipe_cfg->layout.plane_addr[2],
> - pipe_cfg->layout.plane_size[2],
> - pipe_cfg->layout.plane_addr[3],
> - pipe_cfg->layout.plane_size[3],
> - pstate->multirect_index);
> + trace_dpu_plane_set_scanout(pdpu->pipe_hw->idx,
> + &pipe_cfg->layout,
> + pstate->multirect_index);
> pdpu->pipe_hw->ops.setup_sourceaddress(pdpu->pipe_hw, pipe_cfg,
> pstate->multirect_index);
> }
> @@ -1420,8 +1411,8 @@ static void _dpu_plane_atomic_disable(struct
> drm_plane *plane,
> state = plane->state;
> pstate = to_dpu_plane_state(state);
>
> - DPU_EVT32(DRMID(plane), is_dpu_plane_virtual(plane),
> - pstate->multirect_mode);
> + trace_dpu_plane_disable(DRMID(plane), is_dpu_plane_virtual(plane),
> + pstate->multirect_mode);
>
> pstate->pending = true;
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> b/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> index 877621184782..5d3aa5a994be 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> @@ -725,6 +725,50 @@ TRACE_EVENT(dpu_crtc_disable_frame_pending,
> __entry->frame_pending)
> );
>
> +TRACE_EVENT(dpu_plane_set_scanout,
> + TP_PROTO(enum dpu_sspp index, struct dpu_hw_fmt_layout *layout,
> + enum dpu_sspp_multirect_index multirect_index),
> + TP_ARGS(index, layout, multirect_index),
> + TP_STRUCT__entry(
> + __field( enum dpu_sspp, index )
> + __field( struct dpu_hw_fmt_layout*, layout )
> + __field( enum dpu_sspp_multirect_index, multirect_index)
> + ),
> + TP_fast_assign(
> + __entry->index = index;
> + __entry->layout = layout;
> + __entry->multirect_index = multirect_index;
> + ),
> + TP_printk("index:%d layout:{%ux%u @ [%u/%u, %u/%u, %u/%u, %u/%u]} "
> + "multirect_index:%d", __entry->index, __entry->layout->width,
> + __entry->layout->height, __entry->layout->plane_addr[0],
> + __entry->layout->plane_size[0],
> + __entry->layout->plane_addr[1],
> + __entry->layout->plane_size[1],
> + __entry->layout->plane_addr[2],
> + __entry->layout->plane_size[2],
> + __entry->layout->plane_addr[3],
> + __entry->layout->plane_size[3], __entry->multirect_index)
> +);
> +
> +TRACE_EVENT(dpu_plane_disable,
> + TP_PROTO(uint32_t drm_id, bool is_virtual, uint32_t multirect_mode),
> + TP_ARGS(drm_id, is_virtual, multirect_mode),
> + TP_STRUCT__entry(
> + __field( uint32_t, drm_id )
> + __field( bool, is_virtual )
> + __field( uint32_t, multirect_mode )
> + ),
> + TP_fast_assign(
> + __entry->drm_id = drm_id;
> + __entry->is_virtual = is_virtual;
> + __entry->multirect_mode = multirect_mode;
> + ),
> + TP_printk("id:%u is_virtual:%s multirect_mode:%u", __entry->drm_id,
> + __entry->is_virtual ? "true" : "false",
> + __entry->multirect_mode)
> +);
> +
> #define DPU_ATRACE_END(name) trace_tracing_mark_write(current->tgid,
> name, 0)
> #define DPU_ATRACE_BEGIN(name) trace_tracing_mark_write(current->tgid,
> name, 1)
> #define DPU_ATRACE_FUNC() DPU_ATRACE_BEGIN(__func__)
More information about the Freedreno
mailing list