1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #if !defined(_VIRTGPU_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ) 3*4882a593Smuzhiyun #define _VIRTGPU_TRACE_H_ 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #include <linux/tracepoint.h> 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #undef TRACE_SYSTEM 8*4882a593Smuzhiyun #define TRACE_SYSTEM virtio_gpu 9*4882a593Smuzhiyun #define TRACE_INCLUDE_FILE virtgpu_trace 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun DECLARE_EVENT_CLASS(virtio_gpu_cmd, 12*4882a593Smuzhiyun TP_PROTO(struct virtqueue *vq, struct virtio_gpu_ctrl_hdr *hdr), 13*4882a593Smuzhiyun TP_ARGS(vq, hdr), 14*4882a593Smuzhiyun TP_STRUCT__entry( 15*4882a593Smuzhiyun __field(int, dev) 16*4882a593Smuzhiyun __field(unsigned int, vq) 17*4882a593Smuzhiyun __field(const char *, name) 18*4882a593Smuzhiyun __field(u32, type) 19*4882a593Smuzhiyun __field(u32, flags) 20*4882a593Smuzhiyun __field(u64, fence_id) 21*4882a593Smuzhiyun __field(u32, ctx_id) 22*4882a593Smuzhiyun ), 23*4882a593Smuzhiyun TP_fast_assign( 24*4882a593Smuzhiyun __entry->dev = vq->vdev->index; 25*4882a593Smuzhiyun __entry->vq = vq->index; 26*4882a593Smuzhiyun __entry->name = vq->name; 27*4882a593Smuzhiyun __entry->type = le32_to_cpu(hdr->type); 28*4882a593Smuzhiyun __entry->flags = le32_to_cpu(hdr->flags); 29*4882a593Smuzhiyun __entry->fence_id = le64_to_cpu(hdr->fence_id); 30*4882a593Smuzhiyun __entry->ctx_id = le32_to_cpu(hdr->ctx_id); 31*4882a593Smuzhiyun ), 32*4882a593Smuzhiyun TP_printk("vdev=%d vq=%u name=%s type=0x%x flags=0x%x fence_id=%llu ctx_id=%u", 33*4882a593Smuzhiyun __entry->dev, __entry->vq, __entry->name, 34*4882a593Smuzhiyun __entry->type, __entry->flags, __entry->fence_id, 35*4882a593Smuzhiyun __entry->ctx_id) 36*4882a593Smuzhiyun ); 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun DEFINE_EVENT(virtio_gpu_cmd, virtio_gpu_cmd_queue, 39*4882a593Smuzhiyun TP_PROTO(struct virtqueue *vq, struct virtio_gpu_ctrl_hdr *hdr), 40*4882a593Smuzhiyun TP_ARGS(vq, hdr) 41*4882a593Smuzhiyun ); 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun DEFINE_EVENT(virtio_gpu_cmd, virtio_gpu_cmd_response, 44*4882a593Smuzhiyun TP_PROTO(struct virtqueue *vq, struct virtio_gpu_ctrl_hdr *hdr), 45*4882a593Smuzhiyun TP_ARGS(vq, hdr) 46*4882a593Smuzhiyun ); 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun #endif 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun #undef TRACE_INCLUDE_PATH 51*4882a593Smuzhiyun #define TRACE_INCLUDE_PATH ../../drivers/gpu/drm/virtio 52*4882a593Smuzhiyun #include <trace/define_trace.h> 53