mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 17:25:35 +03:00
drivers: pva: combine trace definitions
Currently there is an ftrace definition for pva that is called nvhost_pva. combine into tegra_pva ftrace dfinition with include file nvpva_ftrace.h. Bug 3829397 Change-Id: I0bffdfedad9d5010ef47ffe3f2639c1e162286b1 Signed-off-by: omar <onemri@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2914938 GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
8b310f6369
commit
4cff480dc1
@@ -29,7 +29,6 @@
|
|||||||
|
|
||||||
#include <linux/seq_file.h>
|
#include <linux/seq_file.h>
|
||||||
#include <uapi/linux/nvpva_ioctl.h>
|
#include <uapi/linux/nvpva_ioctl.h>
|
||||||
#include <trace/events/nvhost_pva.h>
|
|
||||||
#define CREATE_TRACE_POINTS
|
#define CREATE_TRACE_POINTS
|
||||||
#include <trace/events/nvpva_ftrace.h>
|
#include <trace/events/nvpva_ftrace.h>
|
||||||
|
|
||||||
@@ -877,7 +876,6 @@ pva_trace_log_record_task_states(struct platform_device *pdev,
|
|||||||
syncpt_id,
|
syncpt_id,
|
||||||
syncpt_thresh,
|
syncpt_thresh,
|
||||||
stats->vpu_assigned,
|
stats->vpu_assigned,
|
||||||
stats->queue_id,
|
|
||||||
stats->queued_time,
|
stats->queued_time,
|
||||||
stats->vpu_assigned_time,
|
stats->vpu_assigned_time,
|
||||||
stats->vpu_assigned_time,
|
stats->vpu_assigned_time,
|
||||||
@@ -972,13 +970,12 @@ static void update_one_task(struct pva *pva)
|
|||||||
vpu_time = (stats->vpu_complete_time - stats->vpu_start_time);
|
vpu_time = (stats->vpu_complete_time - stats->vpu_start_time);
|
||||||
r5_overhead = ((stats->complete_time - stats->queued_time) - vpu_time);
|
r5_overhead = ((stats->complete_time - stats->queued_time) - vpu_time);
|
||||||
r5_overhead = r5_overhead / tsc_ticks_to_us;
|
r5_overhead = r5_overhead / tsc_ticks_to_us;
|
||||||
|
trace_nvpva_task_timestamp(dev_name(&pdev->dev),
|
||||||
trace_nvhost_pva_task_timestamp(dev_name(&pdev->dev),
|
pdata->class,
|
||||||
pdata->class,
|
queue->syncpt_id,
|
||||||
queue->syncpt_id,
|
task->local_sync_counter,
|
||||||
task->local_sync_counter,
|
stats->vpu_assigned_time,
|
||||||
stats->vpu_assigned_time,
|
stats->complete_time);
|
||||||
stats->complete_time);
|
|
||||||
nvpva_dbg_info(pva, "Completed task %p (0x%llx), "
|
nvpva_dbg_info(pva, "Completed task %p (0x%llx), "
|
||||||
"start_time=%llu, "
|
"start_time=%llu, "
|
||||||
"end_time=%llu",
|
"end_time=%llu",
|
||||||
@@ -986,16 +983,16 @@ static void update_one_task(struct pva *pva)
|
|||||||
(u64)task->dma_addr,
|
(u64)task->dma_addr,
|
||||||
stats->vpu_assigned_time,
|
stats->vpu_assigned_time,
|
||||||
stats->complete_time);
|
stats->complete_time);
|
||||||
trace_nvhost_pva_task_stats(pdev->name,
|
trace_nvpva_task_stats(pdev->name,
|
||||||
stats->queued_time,
|
stats->queued_time,
|
||||||
stats->head_time,
|
stats->head_time,
|
||||||
stats->input_actions_complete,
|
stats->input_actions_complete,
|
||||||
stats->vpu_assigned_time,
|
stats->vpu_assigned_time,
|
||||||
stats->vpu_start_time,
|
stats->vpu_start_time,
|
||||||
stats->vpu_complete_time,
|
stats->vpu_complete_time,
|
||||||
stats->complete_time,
|
stats->complete_time,
|
||||||
stats->vpu_assigned,
|
stats->vpu_assigned,
|
||||||
r5_overhead);
|
r5_overhead);
|
||||||
prof:
|
prof:
|
||||||
if ((task->pva->profiling_level == 0) || (!IS_ENABLED(CONFIG_TRACING)))
|
if ((task->pva->profiling_level == 0) || (!IS_ENABLED(CONFIG_TRACING)))
|
||||||
goto out;
|
goto out;
|
||||||
|
|||||||
@@ -5,8 +5,7 @@
|
|||||||
* PVA trace log
|
* PVA trace log
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define CREATE_TRACE_POINTS
|
#include <trace/events/nvpva_ftrace.h>
|
||||||
#include <trace/events/nvhost_pva.h>
|
|
||||||
|
|
||||||
#include "pva.h"
|
#include "pva.h"
|
||||||
#include "pva_trace.h"
|
#include "pva_trace.h"
|
||||||
@@ -34,7 +33,7 @@ static void read_linear(struct pva *pva, struct pva_trace_log *trace, u32 toff)
|
|||||||
dt, name, tp->major, tp->minor, tp->flags,
|
dt, name, tp->major, tp->minor, tp->flags,
|
||||||
tp->sequence, tp->arg1, tp->arg2);
|
tp->sequence, tp->arg1, tp->arg2);
|
||||||
|
|
||||||
trace_nvhost_pva_write(dt, name, tp->major,
|
trace_nvpva_write(dt, name, tp->major,
|
||||||
tp->minor, tp->flags, tp->sequence,
|
tp->minor, tp->flags, tp->sequence,
|
||||||
tp->arg1, tp->arg2);
|
tp->arg1, tp->arg2);
|
||||||
tp = tp + 1;
|
tp = tp + 1;
|
||||||
|
|||||||
@@ -1,235 +0,0 @@
|
|||||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
||||||
/*
|
|
||||||
* Copyright (c) 2017-2023, NVIDIA Corporation. All rights reserved.
|
|
||||||
*
|
|
||||||
* Nvhost event logging to ftrace.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#undef TRACE_SYSTEM
|
|
||||||
#define TRACE_SYSTEM nvhost_pva
|
|
||||||
|
|
||||||
#if !defined(_TRACE_NVHOST_PVA_H) || defined(TRACE_HEADER_MULTI_READ)
|
|
||||||
#define _TRACE_NVHOST_PVA_H
|
|
||||||
|
|
||||||
#include <linux/tracepoint.h>
|
|
||||||
|
|
||||||
|
|
||||||
TRACE_EVENT(nvhost_pva_write,
|
|
||||||
|
|
||||||
TP_PROTO(
|
|
||||||
u64 delta_time,
|
|
||||||
const char *name,
|
|
||||||
u8 major,
|
|
||||||
u8 minor,
|
|
||||||
u8 flags,
|
|
||||||
u8 sequence,
|
|
||||||
u32 arg1,
|
|
||||||
u32 arg2
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_ARGS(
|
|
||||||
delta_time,
|
|
||||||
name,
|
|
||||||
major,
|
|
||||||
minor,
|
|
||||||
flags,
|
|
||||||
sequence,
|
|
||||||
arg1,
|
|
||||||
arg2
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_STRUCT__entry(
|
|
||||||
__field(u64, delta_time)
|
|
||||||
__field(const char *, name)
|
|
||||||
__field(u8, major)
|
|
||||||
__field(u8, minor)
|
|
||||||
__field(u8, flags)
|
|
||||||
__field(u8, sequence)
|
|
||||||
__field(u32, arg1)
|
|
||||||
__field(u32, arg2)
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_fast_assign(
|
|
||||||
__entry->delta_time = delta_time;
|
|
||||||
__entry->name = name;
|
|
||||||
__entry->major = major;
|
|
||||||
__entry->minor = minor;
|
|
||||||
__entry->flags = flags;
|
|
||||||
__entry->sequence = sequence;
|
|
||||||
__entry->arg1 = arg1;
|
|
||||||
__entry->arg2 = arg2;
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_printk("time: %llu\t %s\t major: 0x%x\tminor: 0x%x\tflags: 0x%x\t"
|
|
||||||
"sequence: 0x%x\targ1: %u\targ2: %u",
|
|
||||||
__entry->delta_time, __entry->name, __entry->major,
|
|
||||||
__entry->minor, __entry->flags, __entry->sequence,
|
|
||||||
__entry->arg1, __entry->arg2)
|
|
||||||
);
|
|
||||||
|
|
||||||
TRACE_EVENT(nvhost_pva_task_stats,
|
|
||||||
|
|
||||||
TP_PROTO(
|
|
||||||
const char *name,
|
|
||||||
u64 queued_time,
|
|
||||||
u64 head_time,
|
|
||||||
u64 input_actions_complete,
|
|
||||||
u64 vpu_assigned_time,
|
|
||||||
u64 vpu_start_time,
|
|
||||||
u64 vpu_complete_time,
|
|
||||||
u64 complete_time,
|
|
||||||
u8 vpu_assigned,
|
|
||||||
u64 r5_overhead
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_ARGS(
|
|
||||||
name,
|
|
||||||
queued_time,
|
|
||||||
head_time,
|
|
||||||
input_actions_complete,
|
|
||||||
vpu_assigned_time,
|
|
||||||
vpu_start_time,
|
|
||||||
vpu_complete_time,
|
|
||||||
complete_time,
|
|
||||||
vpu_assigned,
|
|
||||||
r5_overhead
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_STRUCT__entry(
|
|
||||||
__field(const char *, name)
|
|
||||||
__field(u64, queued_time)
|
|
||||||
__field(u64, head_time)
|
|
||||||
__field(u64, input_actions_complete)
|
|
||||||
__field(u64, vpu_assigned_time)
|
|
||||||
__field(u64, vpu_start_time)
|
|
||||||
__field(u64, vpu_complete_time)
|
|
||||||
__field(u64, complete_time)
|
|
||||||
__field(u8, vpu_assigned)
|
|
||||||
__field(u64, r5_overhead)
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_fast_assign(
|
|
||||||
__entry->name = name;
|
|
||||||
__entry->queued_time = queued_time;
|
|
||||||
__entry->head_time = head_time;
|
|
||||||
__entry->input_actions_complete = input_actions_complete;
|
|
||||||
__entry->vpu_assigned_time = vpu_assigned_time;
|
|
||||||
__entry->vpu_start_time = vpu_start_time;
|
|
||||||
__entry->vpu_complete_time = vpu_complete_time;
|
|
||||||
__entry->complete_time = complete_time;
|
|
||||||
__entry->vpu_assigned = vpu_assigned;
|
|
||||||
__entry->r5_overhead = r5_overhead;
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_printk("%s\tqueued_time: %llu\thead_time: %llu\t"
|
|
||||||
"input_actions_complete: %llu\tvpu_assigned_time: %llu\t"
|
|
||||||
"vpu_start_time: %llu\tvpu_complete_time: %llu\t"
|
|
||||||
"complete_time: %llu\tvpu_assigned: %d\t"
|
|
||||||
"r5_overhead: %llu us",
|
|
||||||
__entry->name, __entry->queued_time, __entry->head_time,
|
|
||||||
__entry->input_actions_complete, __entry->vpu_assigned_time,
|
|
||||||
__entry->vpu_start_time, __entry->vpu_complete_time,
|
|
||||||
__entry->complete_time, __entry->vpu_assigned,
|
|
||||||
__entry->r5_overhead)
|
|
||||||
);
|
|
||||||
|
|
||||||
TRACE_EVENT(nvhost_pva_task_vpu_perf,
|
|
||||||
|
|
||||||
TP_PROTO(
|
|
||||||
const char *name,
|
|
||||||
u32 index,
|
|
||||||
u32 count,
|
|
||||||
u32 sum,
|
|
||||||
u64 sum_squared,
|
|
||||||
u32 min,
|
|
||||||
u32 max
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_ARGS(
|
|
||||||
name,
|
|
||||||
index,
|
|
||||||
count,
|
|
||||||
sum,
|
|
||||||
sum_squared,
|
|
||||||
min,
|
|
||||||
max
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_STRUCT__entry(
|
|
||||||
__field(const char *, name)
|
|
||||||
__field(u32, index)
|
|
||||||
__field(u32, count)
|
|
||||||
__field(u32, sum)
|
|
||||||
__field(u64, sum_squared)
|
|
||||||
__field(u32, min)
|
|
||||||
__field(u32, max)
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_fast_assign(
|
|
||||||
__entry->name = name;
|
|
||||||
__entry->index = index;
|
|
||||||
__entry->count = count;
|
|
||||||
__entry->sum = sum;
|
|
||||||
__entry->sum_squared = sum_squared;
|
|
||||||
__entry->min = min;
|
|
||||||
__entry->max = max;
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_printk("%s\tindex: %u\tcount: %u\taverage: %u\t"
|
|
||||||
"variance: %llu\tminimum: %u\t"
|
|
||||||
"maximum: %u",
|
|
||||||
__entry->name, __entry->index, __entry->count,
|
|
||||||
__entry->sum / __entry->count,
|
|
||||||
((u64)__entry->count * __entry->sum_squared -
|
|
||||||
(u64)__entry->sum * (u64)__entry->sum)
|
|
||||||
/ __entry->count / __entry->count,
|
|
||||||
__entry->min, __entry->max)
|
|
||||||
);
|
|
||||||
|
|
||||||
TRACE_EVENT(nvhost_pva_task_timestamp,
|
|
||||||
|
|
||||||
TP_PROTO(
|
|
||||||
const char *name,
|
|
||||||
u32 class,
|
|
||||||
u32 syncpoint_id,
|
|
||||||
u32 syncpoint_thresh,
|
|
||||||
u64 start_time,
|
|
||||||
u64 end_time
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_ARGS(
|
|
||||||
name,
|
|
||||||
class,
|
|
||||||
syncpoint_id,
|
|
||||||
syncpoint_thresh,
|
|
||||||
start_time,
|
|
||||||
end_time
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_STRUCT__entry(
|
|
||||||
__field(const char *, name)
|
|
||||||
__field(u32, class)
|
|
||||||
__field(u32, syncpoint_id)
|
|
||||||
__field(u32, syncpoint_thresh)
|
|
||||||
__field(u64, start_time)
|
|
||||||
__field(u64, end_time)
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_fast_assign(
|
|
||||||
__entry->name = name;
|
|
||||||
__entry->class = class;
|
|
||||||
__entry->syncpoint_id = syncpoint_id;
|
|
||||||
__entry->syncpoint_thresh = syncpoint_thresh;
|
|
||||||
__entry->start_time = start_time;
|
|
||||||
__entry->end_time = end_time;
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_printk("name=%s, class=0x%02x, syncpoint_id=%u, syncpoint_thresh=%u, start_time=%llu, end_time=%llu",
|
|
||||||
__entry->name, __entry->class, __entry->syncpoint_id, __entry->syncpoint_thresh,
|
|
||||||
__entry->start_time, __entry->end_time)
|
|
||||||
);
|
|
||||||
|
|
||||||
#endif /* _TRACE_NVHOST_PVA_H */
|
|
||||||
|
|
||||||
/* This part must be outside protection */
|
|
||||||
#include <trace/define_trace.h>
|
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#undef TRACE_SYSTEM
|
#undef TRACE_SYSTEM
|
||||||
#define TRACE_SYSTEM nvpva_ftrace
|
#define TRACE_SYSTEM tegra_pva
|
||||||
|
|
||||||
#if !defined(_TRACE_NVPVA_FTRACE_H) || defined(TRACE_HEADER_MULTI_READ)
|
#if !defined(_TRACE_NVPVA_FTRACE_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||||
#define _TRACE_NVPVA_FTRACE_H
|
#define _TRACE_NVPVA_FTRACE_H
|
||||||
@@ -75,16 +75,16 @@ TRACE_EVENT(pva_job_base_event,
|
|||||||
);
|
);
|
||||||
|
|
||||||
TRACE_EVENT(pva_job_ext_event,
|
TRACE_EVENT(pva_job_ext_event,
|
||||||
TP_PROTO(u32 job_id, u32 syncpt_id, u32 threshold, u32 vpu_id, u32 queue_id,
|
TP_PROTO(u32 job_id, u32 syncpt_id, u32 threshold, u32 vpu_id,
|
||||||
u64 queue_begin_timestamp, u64 queue_end_timestamp,
|
u64 queue_begin_timestamp, u64 queue_end_timestamp,
|
||||||
u64 prepare_begin_timestamp, u64 prepare_end_timestamp,
|
u64 prepare_begin_timestamp, u64 prepare_end_timestamp,
|
||||||
u64 vpu_begin_timestamp, u64 vpu_end_timestamp,
|
u64 vpu_begin_timestamp, u64 vpu_end_timestamp,
|
||||||
u64 post_begin_timestamp, u64 post_end_timestamp),
|
u64 post_begin_timestamp, u64 post_end_stamp),
|
||||||
TP_ARGS(job_id, syncpt_id, threshold, vpu_id, queue_id,
|
TP_ARGS(job_id, syncpt_id, threshold, vpu_id,
|
||||||
queue_begin_timestamp, queue_end_timestamp,
|
queue_begin_timestamp, queue_end_timestamp,
|
||||||
prepare_begin_timestamp, prepare_end_timestamp,
|
prepare_begin_timestamp, prepare_end_timestamp,
|
||||||
vpu_begin_timestamp, vpu_end_timestamp,
|
vpu_begin_timestamp, vpu_end_timestamp,
|
||||||
post_begin_timestamp, post_end_timestamp),
|
post_begin_timestamp, post_end_stamp),
|
||||||
TP_STRUCT__entry(
|
TP_STRUCT__entry(
|
||||||
__field(u64, queue_begin_timestamp)
|
__field(u64, queue_begin_timestamp)
|
||||||
__field(u64, queue_end_timestamp)
|
__field(u64, queue_end_timestamp)
|
||||||
@@ -93,7 +93,7 @@ TRACE_EVENT(pva_job_ext_event,
|
|||||||
__field(u64, vpu_begin_timestamp)
|
__field(u64, vpu_begin_timestamp)
|
||||||
__field(u64, vpu_end_timestamp)
|
__field(u64, vpu_end_timestamp)
|
||||||
__field(u64, post_begin_timestamp)
|
__field(u64, post_begin_timestamp)
|
||||||
__field(u64, post_end_timestamp)
|
__field(u64, post_end_stamp)
|
||||||
__field(u32, job_id)
|
__field(u32, job_id)
|
||||||
__field(u32, syncpt_id)
|
__field(u32, syncpt_id)
|
||||||
__field(u32, threshold)
|
__field(u32, threshold)
|
||||||
@@ -111,8 +111,8 @@ TRACE_EVENT(pva_job_ext_event,
|
|||||||
__entry->vpu_begin_timestamp = vpu_begin_timestamp;
|
__entry->vpu_begin_timestamp = vpu_begin_timestamp;
|
||||||
__entry->vpu_end_timestamp = vpu_end_timestamp;
|
__entry->vpu_end_timestamp = vpu_end_timestamp;
|
||||||
__entry->post_begin_timestamp = post_begin_timestamp;
|
__entry->post_begin_timestamp = post_begin_timestamp;
|
||||||
__entry->post_end_timestamp = post_end_timestamp;
|
__entry->post_end_stamp = post_end_stamp;
|
||||||
__entry->queue_id = queue_id;
|
__entry->queue_id = (job_id >> 8);
|
||||||
__entry->vpu_id = vpu_id;
|
__entry->vpu_id = vpu_id;
|
||||||
),
|
),
|
||||||
TP_printk("job_id=%u syncpt_id=%u threshold=%u vpu_id=%u queue_id=%u "
|
TP_printk("job_id=%u syncpt_id=%u threshold=%u vpu_id=%u queue_id=%u "
|
||||||
@@ -125,7 +125,7 @@ TRACE_EVENT(pva_job_ext_event,
|
|||||||
__entry->queue_begin_timestamp, __entry->queue_end_timestamp,
|
__entry->queue_begin_timestamp, __entry->queue_end_timestamp,
|
||||||
__entry->prepare_begin_timestamp, __entry->prepare_end_timestamp,
|
__entry->prepare_begin_timestamp, __entry->prepare_end_timestamp,
|
||||||
__entry->vpu_begin_timestamp, __entry->vpu_end_timestamp,
|
__entry->vpu_begin_timestamp, __entry->vpu_end_timestamp,
|
||||||
__entry->post_begin_timestamp, __entry->post_end_timestamp
|
__entry->post_begin_timestamp, __entry->post_end_stamp
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -173,7 +173,155 @@ TRACE_EVENT(job_timestamps,
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
TRACE_EVENT(nvpva_task_stats,
|
||||||
|
TP_PROTO(
|
||||||
|
const char *name,
|
||||||
|
u64 queued_time,
|
||||||
|
u64 head_time,
|
||||||
|
u64 input_actions_complete,
|
||||||
|
u64 vpu_assigned_time,
|
||||||
|
u64 vpu_start_time,
|
||||||
|
u64 vpu_complete_time,
|
||||||
|
u64 complete_time,
|
||||||
|
u8 vpu_assigned,
|
||||||
|
u64 r5_overhead
|
||||||
|
),
|
||||||
|
TP_ARGS(
|
||||||
|
name,
|
||||||
|
queued_time,
|
||||||
|
head_time,
|
||||||
|
input_actions_complete,
|
||||||
|
vpu_assigned_time,
|
||||||
|
vpu_start_time,
|
||||||
|
vpu_complete_time,
|
||||||
|
complete_time,
|
||||||
|
vpu_assigned,
|
||||||
|
r5_overhead
|
||||||
|
),
|
||||||
|
TP_STRUCT__entry(
|
||||||
|
__field(const char *, name)
|
||||||
|
__field(u64, queued_time)
|
||||||
|
__field(u64, head_time)
|
||||||
|
__field(u64, input_actions_complete)
|
||||||
|
__field(u64, vpu_assigned_time)
|
||||||
|
__field(u64, vpu_start_time)
|
||||||
|
__field(u64, vpu_complete_time)
|
||||||
|
__field(u64, complete_time)
|
||||||
|
__field(u8, vpu_assigned)
|
||||||
|
__field(u64, r5_overhead)
|
||||||
|
),
|
||||||
|
TP_fast_assign(
|
||||||
|
__entry->name = name;
|
||||||
|
__entry->queued_time = queued_time;
|
||||||
|
__entry->head_time = head_time;
|
||||||
|
__entry->input_actions_complete = input_actions_complete;
|
||||||
|
__entry->vpu_assigned_time = vpu_assigned_time;
|
||||||
|
__entry->vpu_start_time = vpu_start_time;
|
||||||
|
__entry->vpu_complete_time = vpu_complete_time;
|
||||||
|
__entry->complete_time = complete_time;
|
||||||
|
__entry->vpu_assigned = vpu_assigned;
|
||||||
|
__entry->r5_overhead = r5_overhead;
|
||||||
|
),
|
||||||
|
TP_printk("%s\tqueued_time: %llu\thead_time: %llu\t"
|
||||||
|
"input_actions_complete: %llu\tvpu_assigned_time: %llu\t"
|
||||||
|
"vpu_start_time: %llu\tvpu_complete_time: %llu\t"
|
||||||
|
"complete_time: %llu\tvpu_assigned: %d\t"
|
||||||
|
"r5_overhead: %llu us",
|
||||||
|
__entry->name, __entry->queued_time, __entry->head_time,
|
||||||
|
__entry->input_actions_complete, __entry->vpu_assigned_time,
|
||||||
|
__entry->vpu_start_time, __entry->vpu_complete_time,
|
||||||
|
__entry->complete_time, __entry->vpu_assigned,
|
||||||
|
__entry->r5_overhead)
|
||||||
|
);
|
||||||
|
|
||||||
|
TRACE_EVENT(nvpva_task_timestamp,
|
||||||
|
TP_PROTO(
|
||||||
|
const char *name,
|
||||||
|
u32 class,
|
||||||
|
u32 syncpoint_id,
|
||||||
|
u32 syncpoint_thresh,
|
||||||
|
u64 start_time,
|
||||||
|
u64 end_time
|
||||||
|
),
|
||||||
|
TP_ARGS(
|
||||||
|
name,
|
||||||
|
class,
|
||||||
|
syncpoint_id,
|
||||||
|
syncpoint_thresh,
|
||||||
|
start_time,
|
||||||
|
end_time
|
||||||
|
),
|
||||||
|
TP_STRUCT__entry(
|
||||||
|
__field(const char *, name)
|
||||||
|
__field(u32, class)
|
||||||
|
__field(u32, syncpoint_id)
|
||||||
|
__field(u32, syncpoint_thresh)
|
||||||
|
__field(u64, start_time)
|
||||||
|
__field(u64, end_time)
|
||||||
|
),
|
||||||
|
TP_fast_assign(
|
||||||
|
__entry->name = name;
|
||||||
|
__entry->class = class;
|
||||||
|
__entry->syncpoint_id = syncpoint_id;
|
||||||
|
__entry->syncpoint_thresh = syncpoint_thresh;
|
||||||
|
__entry->start_time = start_time;
|
||||||
|
__entry->end_time = end_time;
|
||||||
|
),
|
||||||
|
TP_printk("name=%s, class=0x%02x, syncpoint_id=%u, syncpoint_thresh=%u, start_time=%llu, end_time=%llu",
|
||||||
|
__entry->name, __entry->class, __entry->syncpoint_id, __entry->syncpoint_thresh,
|
||||||
|
__entry->start_time, __entry->end_time)
|
||||||
|
);
|
||||||
|
|
||||||
|
TRACE_EVENT(nvpva_write,
|
||||||
|
TP_PROTO(
|
||||||
|
u64 delta_time,
|
||||||
|
const char *name,
|
||||||
|
u8 major,
|
||||||
|
u8 minor,
|
||||||
|
u8 flags,
|
||||||
|
u8 sequence,
|
||||||
|
u32 arg1,
|
||||||
|
u32 arg2
|
||||||
|
),
|
||||||
|
TP_ARGS(
|
||||||
|
delta_time,
|
||||||
|
name,
|
||||||
|
major,
|
||||||
|
minor,
|
||||||
|
flags,
|
||||||
|
sequence,
|
||||||
|
arg1,
|
||||||
|
arg2
|
||||||
|
),
|
||||||
|
TP_STRUCT__entry(
|
||||||
|
__field(u64, delta_time)
|
||||||
|
__field(const char *, name)
|
||||||
|
__field(u8, major)
|
||||||
|
__field(u8, minor)
|
||||||
|
__field(u8, flags)
|
||||||
|
__field(u8, sequence)
|
||||||
|
__field(u32, arg1)
|
||||||
|
__field(u32, arg2)
|
||||||
|
),
|
||||||
|
TP_fast_assign(
|
||||||
|
__entry->delta_time = delta_time;
|
||||||
|
__entry->name = name;
|
||||||
|
__entry->major = major;
|
||||||
|
__entry->minor = minor;
|
||||||
|
__entry->flags = flags;
|
||||||
|
__entry->sequence = sequence;
|
||||||
|
__entry->arg1 = arg1;
|
||||||
|
__entry->arg2 = arg2;
|
||||||
|
),
|
||||||
|
TP_printk("time: %llu\t %s\t major: 0x%x\tminor: 0x%x\tflags: 0x%x\t"
|
||||||
|
"sequence: 0x%x\targ1: %u\targ2: %u",
|
||||||
|
__entry->delta_time, __entry->name, __entry->major,
|
||||||
|
__entry->minor, __entry->flags, __entry->sequence,
|
||||||
|
__entry->arg1, __entry->arg2)
|
||||||
|
);
|
||||||
#endif /* End of _TRACE_NVPVA_FTRACE_H */
|
#endif /* End of _TRACE_NVPVA_FTRACE_H */
|
||||||
|
|
||||||
/* This part must be outside protection */
|
/* This part must be outside protection */
|
||||||
|
#undef TRACE_INCLUDE_FILE
|
||||||
|
#define TRACE_INCLUDE_FILE nvpva_ftrace
|
||||||
#include <trace/define_trace.h>
|
#include <trace/define_trace.h>
|
||||||
|
|||||||
Reference in New Issue
Block a user