[Freedreno] [DPU PATCH 11/19] drm/msm: dpu_core_perf: Replace DPU_EVT with tracepoints

ryadav at codeaurora.org ryadav at codeaurora.org
Tue Jun 26 06:46:18 UTC 2018


On 2018-06-21 02:18, Sean Paul wrote:
> This patch converts all DPU_EVTs in dpu_core_perf 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_core_perf.c |  2 +-
>  drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h     | 17 +++++++++++++++++
>  2 files changed, 18 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c
> b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c
> index 6c0f66cc177f..1019ce7594ff 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c
> @@ -474,7 +474,7 @@ int dpu_core_perf_crtc_update(struct drm_crtc 
> *crtc,
>  	if (update_clk) {
>  		clk_rate = _dpu_core_perf_get_core_clk_rate(kms);
> 
> -		DPU_EVT32(kms->dev, stop_req, clk_rate);
> +		trace_dpu_core_perf_update_clk(kms->dev, stop_req, clk_rate);
> 
>  		ret = _dpu_core_perf_set_core_clk_rate(kms, clk_rate);
>  		if (ret) {
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> b/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> index ee41db86a2e9..d6f117bdad24 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> @@ -1016,6 +1016,23 @@ DEFINE_EVENT(dpu_core_irq_callback_template,
> dpu_core_irq_unregister_callback,
>  	TP_ARGS(irq_idx, callback)
>  );
> 
> +TRACE_EVENT(dpu_core_perf_update_clk,
> +	TP_PROTO(struct drm_device *dev, bool stop_req, u64 clk_rate),
> +	TP_ARGS(dev, stop_req, clk_rate),
> +	TP_STRUCT__entry(
> +		__field(	struct drm_device *,	dev		)
> +		__field(	bool,			stop_req	)
> +		__field(	u64,			clk_rate	)
> +	),
> +	TP_fast_assign(
> +		__entry->dev = dev;
> +		__entry->stop_req = stop_req;
> +		__entry->clk_rate = clk_rate;
> +	),
> +	TP_printk("dev:%s stop_req:%s clk_rate:%llu", __entry->dev->unique,
> +		  __entry->stop_req ? "true" : "false", __entry->clk_rate)
> +);
> +
>  #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