From 670f97c59b8e917ce06c64afeb7e02589ddc5abc Mon Sep 17 00:00:00 2001 From: Ajay Nandakumar Date: Tue, 8 May 2018 13:10:34 +0530 Subject: include: add iso trace header Added trace/events/isomgr.h as these headers required for iso manager. Bug 200410446 Change-Id: I3cc2264fdbc37b73c4f3fd116057892a41456a54 Signed-off-by: Ajay Nandakumar Reviewed-on: https://git-master.nvidia.com/r/1710273 GVS: Gerrit_Virtual_Submit Reviewed-by: Sachin Nikam Reviewed-by: mobile promotions Tested-by: mobile promotions --- include/trace/events/isomgr.h | 298 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 298 insertions(+) create mode 100644 include/trace/events/isomgr.h (limited to 'include/trace/events') diff --git a/include/trace/events/isomgr.h b/include/trace/events/isomgr.h new file mode 100644 index 000000000..acb13a4c1 --- /dev/null +++ b/include/trace/events/isomgr.h @@ -0,0 +1,298 @@ +/* + * include/trace/events/isomgr.h + * + * isomgr logging to ftrace. + * + * Copyright (c) 2013-2017, NVIDIA CORPORATION, All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#undef TRACE_SYSTEM +#define TRACE_SYSTEM isomgr + +#if !defined(_TRACE_ISOMGR_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_ISOMGR_H + +#include +#include +#include + +TRACE_EVENT(tegra_isomgr_register, + TP_PROTO(enum tegra_iso_client client, + u32 dedi_bw, + tegra_isomgr_renegotiate renegotiate, + void *priv, + char *name, + char *msg), + + TP_ARGS(client, dedi_bw, renegotiate, priv, name, msg), + + TP_STRUCT__entry( + __field(enum tegra_iso_client, client) + __field(u32, dedi_bw) + __field(void *, renegotiate) + __field(void *, priv) + __field(char *, name) + __field(char *, msg) + ), + + TP_fast_assign( + __entry->client = client; + __entry->dedi_bw = dedi_bw; + __entry->renegotiate = renegotiate; + __entry->priv = priv; + __entry->name = name; + __entry->msg = msg; + ), + + TP_printk("client=%d, dedi_bw=%dKB, renegotiate=%p, priv=%p, %s %s", + __entry->client, __entry->dedi_bw, + __entry->renegotiate, __entry->priv, + __entry->name, __entry->msg) +); + +TRACE_EVENT(tegra_isomgr_unregister, + TP_PROTO(tegra_isomgr_handle handle, + char *name), + + TP_ARGS(handle, name), + + TP_STRUCT__entry( + __field(tegra_isomgr_handle, handle) + __field(char *, name) + ), + + TP_fast_assign( + __entry->handle = handle; + __entry->name = name; + ), + + TP_printk("handle=%p %s", __entry->handle, __entry->name) +); + +TRACE_EVENT(tegra_isomgr_unregister_iso_client, + TP_PROTO(char *name, + char *msg), + + TP_ARGS(name, msg), + + TP_STRUCT__entry( + __field(char *, name) + __field(char *, msg) + ), + + TP_fast_assign( + __entry->name = name; + __entry->msg = msg; + ), + + TP_printk("%s %s", __entry->name, __entry->msg) +); + +TRACE_EVENT(tegra_isomgr_reserve, + TP_PROTO(tegra_isomgr_handle handle, + u32 bw, + u32 lt, + char *name, + char *msg), + + TP_ARGS(handle, bw, lt, name, msg), + + TP_STRUCT__entry( + __field(tegra_isomgr_handle, handle) + __field(u32, bw) + __field(u32, lt) + __field(char *, name) + __field(char *, msg) + ), + + TP_fast_assign( + __entry->handle = handle; + __entry->bw = bw; + __entry->lt = lt; + __entry->name = name; + __entry->msg = msg; + ), + + TP_printk("handle=%p, bw=%dKB, lt=%dus %s %s", + __entry->handle, __entry->bw, __entry->lt, + __entry->name, __entry->msg) +); + +TRACE_EVENT(tegra_isomgr_realize, + TP_PROTO(tegra_isomgr_handle handle, char *name, char *msg), + + TP_ARGS(handle, name, msg), + + TP_STRUCT__entry( + __field(tegra_isomgr_handle, handle) + __field(char *, name) + __field(char *, msg) + ), + + TP_fast_assign( + __entry->handle = handle; + __entry->name = name; + __entry->msg = msg; + ), + + TP_printk("handle=%p %s %s", __entry->handle, + __entry->name, __entry->msg) +); + +TRACE_EVENT(tegra_isomgr_set_margin, + TP_PROTO(enum tegra_iso_client client, + u32 bw, + bool wait, + char *msg), + + TP_ARGS(client, bw, wait, msg), + + TP_STRUCT__entry( + __field(enum tegra_iso_client, client) + __field(u32, bw) + __field(bool, wait) + __field(char *, msg) + ), + + TP_fast_assign( + __entry->client = client; + __entry->bw = bw; + __entry->wait = wait; + __entry->msg = msg; + ), + + TP_printk("client=%d, bw=%dKB, wait=%d %s", + __entry->client, __entry->bw, __entry->wait, __entry->msg) +); + +TRACE_EVENT(tegra_isomgr_get_imp_time, + TP_PROTO(enum tegra_iso_client client, + u32 bw, + u32 time, + char *name), + + TP_ARGS(client, bw, time, name), + + TP_STRUCT__entry( + __field(enum tegra_iso_client, client) + __field(u32, bw) + __field(u32, time) + __field(char *, name) + ), + + TP_fast_assign( + __entry->client = client; + __entry->bw = bw; + __entry->time = time; + __entry->name = name; + ), + + TP_printk("client=%d, bw=%dKB, imp_time=%dms %s", + __entry->client, __entry->bw, __entry->time, __entry->name) +); + +TRACE_EVENT(tegra_isomgr_get_available_iso_bw, + TP_PROTO(u32 bw), + + TP_ARGS(bw), + + TP_STRUCT__entry( + __field(u32, bw) + ), + + TP_fast_assign( + __entry->bw = bw; + ), + + TP_printk("bw=%dKB", __entry->bw) +); + +TRACE_EVENT(tegra_isomgr_get_total_iso_bw, + TP_PROTO(u32 bw), + + TP_ARGS(bw), + + TP_STRUCT__entry( + __field(u32, bw) + ), + + TP_fast_assign( + __entry->bw = bw; + ), + + TP_printk("bw=%dKB", __entry->bw) +); + +TRACE_EVENT(tegra_isomgr_scavenge, + TP_PROTO(enum tegra_iso_client client, + u32 avail_bw, + char *name, + char *msg), + + TP_ARGS(client, avail_bw, name, msg), + + TP_STRUCT__entry( + __field(enum tegra_iso_client, client) + __field(u32, avail_bw) + __field(char *, name) + __field(char *, msg) + ), + + TP_fast_assign( + __entry->client = client; + __entry->avail_bw = avail_bw; + __entry->name = name; + __entry->msg = msg; + ), + + TP_printk("client=%d, avail_bw=%dKB, %s %s", + __entry->client, __entry->avail_bw, + __entry->name, __entry->msg) +); + +TRACE_EVENT(tegra_isomgr_scatter, + TP_PROTO(enum tegra_iso_client client, + u32 avail_bw, + char *name, + char *msg), + + TP_ARGS(client, avail_bw, name, msg), + + TP_STRUCT__entry( + __field(enum tegra_iso_client, client) + __field(u32, avail_bw) + __field(char *, name) + __field(char *, msg) + ), + + TP_fast_assign( + __entry->client = client; + __entry->avail_bw = avail_bw; + __entry->name = name; + __entry->msg = msg; + ), + + TP_printk("client=%d, avail_bw=%dKB, %s %s", + __entry->client, __entry->avail_bw, + __entry->name, __entry->msg) +); + +#endif /* _TRACE_ISOMGR_H */ + +/* This part must be outside protection */ +#include + -- cgit v1.2.2