blob: bd5f6614b6bb0897142bce5d76ccd8490c8eb2cb [file] [log] [blame]
/*
*
* (C) COPYRIGHT 2012-2016 ARM Limited. All rights reserved.
*
* This program is free software and is provided to you under the terms of the
* GNU General Public License version 2 as published by the Free Software
* Foundation, and any use by you of this program is subject to the terms
* of such GNU licence.
*
* A copy of the licence is included with the program, and can also be obtained
* from Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*
*/
#undef TRACE_SYSTEM
#define TRACE_SYSTEM mali_timeline
#if !defined(_MALI_TIMELINE_H) || defined(TRACE_HEADER_MULTI_READ)
#define _MALI_TIMELINE_H
#include <linux/tracepoint.h>
TRACE_EVENT(mali_timeline_atoms_in_flight,
TP_PROTO(u64 ts_sec,
u32 ts_nsec,
int tgid,
int count),
TP_ARGS(ts_sec,
ts_nsec,
tgid,
count),
TP_STRUCT__entry(
__field(u64, ts_sec)
__field(u32, ts_nsec)
__field(int, tgid)
__field(int, count)
),
TP_fast_assign(
__entry->ts_sec = ts_sec;
__entry->ts_nsec = ts_nsec;
__entry->tgid = tgid;
__entry->count = count;
),
TP_printk("%i,%i.%.9i,%i,%i", CTX_SET_NR_ATOMS_IN_FLIGHT,
(int)__entry->ts_sec,
(int)__entry->ts_nsec,
__entry->tgid,
__entry->count)
);
TRACE_EVENT(mali_timeline_atom,
TP_PROTO(u64 ts_sec,
u32 ts_nsec,
int event_type,
int tgid,
int atom_id),
TP_ARGS(ts_sec,
ts_nsec,
event_type,
tgid,
atom_id),
TP_STRUCT__entry(
__field(u64, ts_sec)
__field(u32, ts_nsec)
__field(int, event_type)
__field(int, tgid)
__field(int, atom_id)
),
TP_fast_assign(
__entry->ts_sec = ts_sec;
__entry->ts_nsec = ts_nsec;
__entry->event_type = event_type;
__entry->tgid = tgid;
__entry->atom_id = atom_id;
),
TP_printk("%i,%i.%.9i,%i,%i,%i", __entry->event_type,
(int)__entry->ts_sec,
(int)__entry->ts_nsec,
__entry->tgid,
__entry->atom_id,
__entry->atom_id)
);
TRACE_EVENT(mali_timeline_gpu_slot_active,
TP_PROTO(u64 ts_sec,
u32 ts_nsec,
int event_type,
int tgid,
int js,
int count),
TP_ARGS(ts_sec,
ts_nsec,
event_type,
tgid,
js,
count),
TP_STRUCT__entry(
__field(u64, ts_sec)
__field(u32, ts_nsec)
__field(int, event_type)
__field(int, tgid)
__field(int, js)
__field(int, count)
),
TP_fast_assign(
__entry->ts_sec = ts_sec;
__entry->ts_nsec = ts_nsec;
__entry->event_type = event_type;
__entry->tgid = tgid;
__entry->js = js;
__entry->count = count;
),
TP_printk("%i,%i.%.9i,%i,%i,%i", __entry->event_type,
(int)__entry->ts_sec,
(int)__entry->ts_nsec,
__entry->tgid,
__entry->js,
__entry->count)
);
TRACE_EVENT(mali_timeline_gpu_slot_action,
TP_PROTO(u64 ts_sec,
u32 ts_nsec,
int event_type,
int tgid,
int js,
int count),
TP_ARGS(ts_sec,
ts_nsec,
event_type,
tgid,
js,
count),
TP_STRUCT__entry(
__field(u64, ts_sec)
__field(u32, ts_nsec)
__field(int, event_type)
__field(int, tgid)
__field(int, js)
__field(int, count)
),
TP_fast_assign(
__entry->ts_sec = ts_sec;
__entry->ts_nsec = ts_nsec;
__entry->event_type = event_type;
__entry->tgid = tgid;
__entry->js = js;
__entry->count = count;
),
TP_printk("%i,%i.%.9i,%i,%i,%i", __entry->event_type,
(int)__entry->ts_sec,
(int)__entry->ts_nsec,
__entry->tgid,
__entry->js,
__entry->count)
);
TRACE_EVENT(mali_timeline_gpu_power_active,
TP_PROTO(u64 ts_sec,
u32 ts_nsec,
int event_type,
int active),
TP_ARGS(ts_sec,
ts_nsec,
event_type,
active),
TP_STRUCT__entry(
__field(u64, ts_sec)
__field(u32, ts_nsec)
__field(int, event_type)
__field(int, active)
),
TP_fast_assign(
__entry->ts_sec = ts_sec;
__entry->ts_nsec = ts_nsec;
__entry->event_type = event_type;
__entry->active = active;
),
TP_printk("%i,%i.%.9i,0,%i", __entry->event_type,
(int)__entry->ts_sec,
(int)__entry->ts_nsec,
__entry->active)
);
TRACE_EVENT(mali_timeline_l2_power_active,
TP_PROTO(u64 ts_sec,
u32 ts_nsec,
int event_type,
int state),
TP_ARGS(ts_sec,
ts_nsec,
event_type,
state),
TP_STRUCT__entry(
__field(u64, ts_sec)
__field(u32, ts_nsec)
__field(int, event_type)
__field(int, state)
),
TP_fast_assign(
__entry->ts_sec = ts_sec;
__entry->ts_nsec = ts_nsec;
__entry->event_type = event_type;
__entry->state = state;
),
TP_printk("%i,%i.%.9i,0,%i", __entry->event_type,
(int)__entry->ts_sec,
(int)__entry->ts_nsec,
__entry->state)
);
TRACE_EVENT(mali_timeline_pm_event,
TP_PROTO(u64 ts_sec,
u32 ts_nsec,
int event_type,
int pm_event_type,
unsigned int pm_event_id),
TP_ARGS(ts_sec,
ts_nsec,
event_type,
pm_event_type,
pm_event_id),
TP_STRUCT__entry(
__field(u64, ts_sec)
__field(u32, ts_nsec)
__field(int, event_type)
__field(int, pm_event_type)
__field(unsigned int, pm_event_id)
),
TP_fast_assign(
__entry->ts_sec = ts_sec;
__entry->ts_nsec = ts_nsec;
__entry->event_type = event_type;
__entry->pm_event_type = pm_event_type;
__entry->pm_event_id = pm_event_id;
),
TP_printk("%i,%i.%.9i,0,%i,%u", __entry->event_type,
(int)__entry->ts_sec,
(int)__entry->ts_nsec,
__entry->pm_event_type, __entry->pm_event_id)
);
TRACE_EVENT(mali_timeline_slot_atom,
TP_PROTO(u64 ts_sec,
u32 ts_nsec,
int event_type,
int tgid,
int js,
int atom_id),
TP_ARGS(ts_sec,
ts_nsec,
event_type,
tgid,
js,
atom_id),
TP_STRUCT__entry(
__field(u64, ts_sec)
__field(u32, ts_nsec)
__field(int, event_type)
__field(int, tgid)
__field(int, js)
__field(int, atom_id)
),
TP_fast_assign(
__entry->ts_sec = ts_sec;
__entry->ts_nsec = ts_nsec;
__entry->event_type = event_type;
__entry->tgid = tgid;
__entry->js = js;
__entry->atom_id = atom_id;
),
TP_printk("%i,%i.%.9i,%i,%i,%i", __entry->event_type,
(int)__entry->ts_sec,
(int)__entry->ts_nsec,
__entry->tgid,
__entry->js,
__entry->atom_id)
);
TRACE_EVENT(mali_timeline_pm_checktrans,
TP_PROTO(u64 ts_sec,
u32 ts_nsec,
int trans_code,
int trans_id),
TP_ARGS(ts_sec,
ts_nsec,
trans_code,
trans_id),
TP_STRUCT__entry(
__field(u64, ts_sec)
__field(u32, ts_nsec)
__field(int, trans_code)
__field(int, trans_id)
),
TP_fast_assign(
__entry->ts_sec = ts_sec;
__entry->ts_nsec = ts_nsec;
__entry->trans_code = trans_code;
__entry->trans_id = trans_id;
),
TP_printk("%i,%i.%.9i,0,%i", __entry->trans_code,
(int)__entry->ts_sec,
(int)__entry->ts_nsec,
__entry->trans_id)
);
TRACE_EVENT(mali_timeline_context_active,
TP_PROTO(u64 ts_sec,
u32 ts_nsec,
int count),
TP_ARGS(ts_sec,
ts_nsec,
count),
TP_STRUCT__entry(
__field(u64, ts_sec)
__field(u32, ts_nsec)
__field(int, count)
),
TP_fast_assign(
__entry->ts_sec = ts_sec;
__entry->ts_nsec = ts_nsec;
__entry->count = count;
),
TP_printk("%i,%i.%.9i,0,%i", SW_SET_CONTEXT_ACTIVE,
(int)__entry->ts_sec,
(int)__entry->ts_nsec,
__entry->count)
);
#endif /* _MALI_TIMELINE_H */
#undef TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_PATH .
/* This part must be outside protection */
#include <trace/define_trace.h>