Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Copyright (C) 2015 Broadcom
0004  */
0005 
0006 #if !defined(_VC4_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
0007 #define _VC4_TRACE_H_
0008 
0009 #include <linux/stringify.h>
0010 #include <linux/types.h>
0011 #include <linux/tracepoint.h>
0012 
0013 #undef TRACE_SYSTEM
0014 #define TRACE_SYSTEM vc4
0015 #define TRACE_INCLUDE_FILE vc4_trace
0016 
0017 TRACE_EVENT(vc4_wait_for_seqno_begin,
0018         TP_PROTO(struct drm_device *dev, uint64_t seqno, uint64_t timeout),
0019         TP_ARGS(dev, seqno, timeout),
0020 
0021         TP_STRUCT__entry(
0022                  __field(u32, dev)
0023                  __field(u64, seqno)
0024                  __field(u64, timeout)
0025                  ),
0026 
0027         TP_fast_assign(
0028                __entry->dev = dev->primary->index;
0029                __entry->seqno = seqno;
0030                __entry->timeout = timeout;
0031                ),
0032 
0033         TP_printk("dev=%u, seqno=%llu, timeout=%llu",
0034               __entry->dev, __entry->seqno, __entry->timeout)
0035 );
0036 
0037 TRACE_EVENT(vc4_wait_for_seqno_end,
0038         TP_PROTO(struct drm_device *dev, uint64_t seqno),
0039         TP_ARGS(dev, seqno),
0040 
0041         TP_STRUCT__entry(
0042                  __field(u32, dev)
0043                  __field(u64, seqno)
0044                  ),
0045 
0046         TP_fast_assign(
0047                __entry->dev = dev->primary->index;
0048                __entry->seqno = seqno;
0049                ),
0050 
0051         TP_printk("dev=%u, seqno=%llu",
0052               __entry->dev, __entry->seqno)
0053 );
0054 
0055 TRACE_EVENT(vc4_submit_cl_ioctl,
0056         TP_PROTO(struct drm_device *dev, u32 bin_cl_size, u32 shader_rec_size, u32 bo_count),
0057         TP_ARGS(dev, bin_cl_size, shader_rec_size, bo_count),
0058 
0059         TP_STRUCT__entry(
0060                  __field(u32, dev)
0061                  __field(u32, bin_cl_size)
0062                  __field(u32, shader_rec_size)
0063                  __field(u32, bo_count)
0064                  ),
0065 
0066         TP_fast_assign(
0067                __entry->dev = dev->primary->index;
0068                __entry->bin_cl_size = bin_cl_size;
0069                __entry->shader_rec_size = shader_rec_size;
0070                __entry->bo_count = bo_count;
0071                ),
0072 
0073         TP_printk("dev=%u, bin_cl_size=%u, shader_rec_size=%u, bo_count=%u",
0074               __entry->dev,
0075               __entry->bin_cl_size,
0076               __entry->shader_rec_size,
0077               __entry->bo_count)
0078 );
0079 
0080 TRACE_EVENT(vc4_submit_cl,
0081         TP_PROTO(struct drm_device *dev, bool is_render,
0082              uint64_t seqno,
0083              u32 ctnqba, u32 ctnqea),
0084         TP_ARGS(dev, is_render, seqno, ctnqba, ctnqea),
0085 
0086         TP_STRUCT__entry(
0087                  __field(u32, dev)
0088                  __field(bool, is_render)
0089                  __field(u64, seqno)
0090                  __field(u32, ctnqba)
0091                  __field(u32, ctnqea)
0092                  ),
0093 
0094         TP_fast_assign(
0095                __entry->dev = dev->primary->index;
0096                __entry->is_render = is_render;
0097                __entry->seqno = seqno;
0098                __entry->ctnqba = ctnqba;
0099                __entry->ctnqea = ctnqea;
0100                ),
0101 
0102         TP_printk("dev=%u, %s, seqno=%llu, 0x%08x..0x%08x",
0103               __entry->dev,
0104               __entry->is_render ? "RCL" : "BCL",
0105               __entry->seqno,
0106               __entry->ctnqba,
0107               __entry->ctnqea)
0108 );
0109 
0110 TRACE_EVENT(vc4_bcl_end_irq,
0111         TP_PROTO(struct drm_device *dev,
0112              uint64_t seqno),
0113         TP_ARGS(dev, seqno),
0114 
0115         TP_STRUCT__entry(
0116                  __field(u32, dev)
0117                  __field(u64, seqno)
0118                  ),
0119 
0120         TP_fast_assign(
0121                __entry->dev = dev->primary->index;
0122                __entry->seqno = seqno;
0123                ),
0124 
0125         TP_printk("dev=%u, seqno=%llu",
0126               __entry->dev,
0127               __entry->seqno)
0128 );
0129 
0130 TRACE_EVENT(vc4_rcl_end_irq,
0131         TP_PROTO(struct drm_device *dev,
0132              uint64_t seqno),
0133         TP_ARGS(dev, seqno),
0134 
0135         TP_STRUCT__entry(
0136                  __field(u32, dev)
0137                  __field(u64, seqno)
0138                  ),
0139 
0140         TP_fast_assign(
0141                __entry->dev = dev->primary->index;
0142                __entry->seqno = seqno;
0143                ),
0144 
0145         TP_printk("dev=%u, seqno=%llu",
0146               __entry->dev,
0147               __entry->seqno)
0148 );
0149 
0150 #endif /* _VC4_TRACE_H_ */
0151 
0152 /* This part must be outside protection */
0153 #undef TRACE_INCLUDE_PATH
0154 #define TRACE_INCLUDE_PATH ../../drivers/gpu/drm/vc4
0155 #include <trace/define_trace.h>