blob: 1468ce6eee727f661af39aa77f2dc149e8500f4e [file] [log] [blame]
/*
* dma-contiguous-trace.h
*
* Copyright (C) ST-Ericsson SA 2011
* Author: <benjamin.gaignard@linaro.org> for ST-Ericsson.
* License terms: GNU General Public License (GPL), version 2
*/
#if !defined(__TRACE_CMA) || defined(TRACE_HEADER_MULTI_READ)
#define __TRACE_CMA
#include <linux/tracepoint.h>
#include <linux/dma-contiguous.h>
#if !defined(CONFIG_CMA_TRACER) || defined(__CHECKER__)
#undef TRACE_EVENT
#define TRACE_EVENT(name, proto, ...) \
static inline void trace_ ## name(proto) {}
#endif
#define PRIV_ENTRY __field(struct cma *, priv)
#define PRIV_ASSIGN __entry->priv = priv
#undef TRACE_SYSTEM
#define TRACE_SYSTEM cma
TRACE_EVENT(cma_alloc_start,
TP_PROTO(struct cma *priv, int count, unsigned int align),
TP_ARGS(priv, count, align),
TP_STRUCT__entry(PRIV_ENTRY __field(int, count)
__field(unsigned int, align)
),
TP_fast_assign(PRIV_ASSIGN;
__entry->count = count;
__entry->align = align;),
TP_printk("[%p] CMA alloc start count=0x%x align=0x%x",
__entry->priv, __entry->count, __entry->align)
);
TRACE_EVENT(cma_alloc_end_success,
TP_PROTO(struct cma *priv, unsigned long pfn, int count),
TP_ARGS(priv, pfn, count),
TP_STRUCT__entry(PRIV_ENTRY __field(unsigned long, pfn)
__field(int, count)
),
TP_fast_assign(PRIV_ASSIGN;
__entry->pfn = pfn;
__entry->count = count;),
TP_printk("[%p] CMA alloc success pfn=0x%lx count=0x%x",
__entry->priv, __entry->pfn, __entry->count)
);
TRACE_EVENT(cma_alloc_end_failed,
TP_PROTO(struct cma *priv, int count),
TP_ARGS(priv, count),
TP_STRUCT__entry(PRIV_ENTRY __field(int, count)
),
TP_fast_assign(PRIV_ASSIGN;
__entry->count = count;),
TP_printk("[%p] CMA alloc failed count=0x%x", __entry->priv,
__entry->count)
);
TRACE_EVENT(cma_release_start,
TP_PROTO(struct cma *priv, unsigned long pfn, int count),
TP_ARGS(priv, pfn, count),
TP_STRUCT__entry(PRIV_ENTRY __field(unsigned long, pfn)
__field(int, count)
),
TP_fast_assign(PRIV_ASSIGN;
__entry->pfn = pfn;
__entry->count = count;),
TP_printk("[%p] CMA start release pfn=0x%lx count=0x%x",
__entry->priv, __entry->pfn, __entry->count)
);
TRACE_EVENT(cma_release_end,
TP_PROTO(struct cma *priv, unsigned long pfn, int count),
TP_ARGS(priv, pfn, count),
TP_STRUCT__entry(PRIV_ENTRY __field(unsigned long, pfn)
__field(int, count)
),
TP_fast_assign(PRIV_ASSIGN;
__entry->pfn = pfn;
__entry->count = count;),
TP_printk("[%p] CMA end release pfn=0x%lx count=0x%x",
__entry->priv, __entry->pfn, __entry->count)
);
#endif /* __TRACE_CMA */
#undef TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_PATH ../../drivers/base
#undef TRACE_INCLUDE_FILE
#define TRACE_INCLUDE_FILE dma-contiguous-trace
#include <trace/define_trace.h>