159 lines · 3.2 KB · C
RawDownload
/* SPDX-License-Identifier: GPL-2.0 */#undef TRACE_SYSTEM#define TRACE_SYSTEM dma_buf #if !defined(_TRACE_DMA_BUF_H) || defined(TRACE_HEADER_MULTI_READ)#define _TRACE_DMA_BUF_H #include <linux/dma-buf.h>#include <linux/tracepoint.h> DECLARE_EVENT_CLASS(dma_buf, 	TP_PROTO(struct dma_buf *dmabuf), 	TP_ARGS(dmabuf), 	TP_STRUCT__entry(		__string(	exp_name,		dmabuf->exp_name)		__field(	size_t,			size)		__field(	ino_t,			ino)	), 	TP_fast_assign(		__assign_str(exp_name);		__entry->size	= dmabuf->size;		__entry->ino	= dmabuf->file->f_inode->i_ino;	), 	TP_printk("exp_name=%s size=%zu ino=%lu",		  __get_str(exp_name),		  __entry->size,		  __entry->ino)); DECLARE_EVENT_CLASS(dma_buf_attach_dev, 	TP_PROTO(struct dma_buf *dmabuf, struct dma_buf_attachment *attach,		bool is_dynamic, struct device *dev), 	TP_ARGS(dmabuf, attach, is_dynamic, dev), 	TP_STRUCT__entry(		__string(	dev_name,			dev_name(dev))		__string(	exp_name,			dmabuf->exp_name)		__field(	size_t,				size)		__field(	ino_t,				ino)		__field(	struct dma_buf_attachment *,	attach)		__field(	bool,				is_dynamic)	), 	TP_fast_assign(		__assign_str(dev_name);		__assign_str(exp_name);		__entry->size		= dmabuf->size;		__entry->ino		= dmabuf->file->f_inode->i_ino;		__entry->is_dynamic	= is_dynamic;		__entry->attach		= attach;	), 	TP_printk("exp_name=%s size=%zu ino=%lu attachment:%p is_dynamic=%d dev_name=%s",		  __get_str(exp_name),		  __entry->size,		  __entry->ino,		  __entry->attach,		  __entry->is_dynamic,		  __get_str(dev_name))); DECLARE_EVENT_CLASS(dma_buf_fd, 	TP_PROTO(struct dma_buf *dmabuf, int fd), 	TP_ARGS(dmabuf, fd), 	TP_STRUCT__entry(		__string(	exp_name,		dmabuf->exp_name)		__field(	size_t,			size)		__field(	ino_t,			ino)		__field(	int,			fd)	), 	TP_fast_assign(		__assign_str(exp_name);		__entry->size	= dmabuf->size;		__entry->ino	= dmabuf->file->f_inode->i_ino;		__entry->fd	= fd;	), 	TP_printk("exp_name=%s size=%zu ino=%lu fd=%d",		  __get_str(exp_name),		  __entry->size,		  __entry->ino,		  __entry->fd)); DEFINE_EVENT(dma_buf, dma_buf_export, 	TP_PROTO(struct dma_buf *dmabuf), 	TP_ARGS(dmabuf)); DEFINE_EVENT(dma_buf, dma_buf_mmap_internal, 	TP_PROTO(struct dma_buf *dmabuf), 	TP_ARGS(dmabuf)); DEFINE_EVENT(dma_buf, dma_buf_mmap, 	TP_PROTO(struct dma_buf *dmabuf), 	TP_ARGS(dmabuf)); DEFINE_EVENT(dma_buf, dma_buf_put, 	TP_PROTO(struct dma_buf *dmabuf), 	TP_ARGS(dmabuf)); DEFINE_EVENT(dma_buf_attach_dev, dma_buf_dynamic_attach, 	TP_PROTO(struct dma_buf *dmabuf, struct dma_buf_attachment *attach,		bool is_dynamic, struct device *dev), 	TP_ARGS(dmabuf, attach, is_dynamic, dev)); DEFINE_EVENT(dma_buf_attach_dev, dma_buf_detach, 	TP_PROTO(struct dma_buf *dmabuf, struct dma_buf_attachment *attach,		bool is_dynamic, struct device *dev), 	TP_ARGS(dmabuf, attach, is_dynamic, dev)); DEFINE_EVENT_CONDITION(dma_buf_fd, dma_buf_fd, 	TP_PROTO(struct dma_buf *dmabuf, int fd), 	TP_ARGS(dmabuf, fd), 	TP_CONDITION(fd >= 0)); DEFINE_EVENT(dma_buf_fd, dma_buf_get, 	TP_PROTO(struct dma_buf *dmabuf, int fd), 	TP_ARGS(dmabuf, fd)); #endif /* _TRACE_DMA_BUF_H */ /* This part must be outside protection */#include <trace/define_trace.h>