0001
0002
0003
0004 #if !defined(_V3D_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
0005 #define _V3D_TRACE_H_
0006
0007 #include <linux/stringify.h>
0008 #include <linux/types.h>
0009 #include <linux/tracepoint.h>
0010
0011 #undef TRACE_SYSTEM
0012 #define TRACE_SYSTEM v3d
0013 #define TRACE_INCLUDE_FILE v3d_trace
0014
0015 TRACE_EVENT(v3d_submit_cl_ioctl,
0016 TP_PROTO(struct drm_device *dev, u32 ct1qba, u32 ct1qea),
0017 TP_ARGS(dev, ct1qba, ct1qea),
0018
0019 TP_STRUCT__entry(
0020 __field(u32, dev)
0021 __field(u32, ct1qba)
0022 __field(u32, ct1qea)
0023 ),
0024
0025 TP_fast_assign(
0026 __entry->dev = dev->primary->index;
0027 __entry->ct1qba = ct1qba;
0028 __entry->ct1qea = ct1qea;
0029 ),
0030
0031 TP_printk("dev=%u, RCL 0x%08x..0x%08x",
0032 __entry->dev,
0033 __entry->ct1qba,
0034 __entry->ct1qea)
0035 );
0036
0037 TRACE_EVENT(v3d_submit_cl,
0038 TP_PROTO(struct drm_device *dev, bool is_render,
0039 uint64_t seqno,
0040 u32 ctnqba, u32 ctnqea),
0041 TP_ARGS(dev, is_render, seqno, ctnqba, ctnqea),
0042
0043 TP_STRUCT__entry(
0044 __field(u32, dev)
0045 __field(bool, is_render)
0046 __field(u64, seqno)
0047 __field(u32, ctnqba)
0048 __field(u32, ctnqea)
0049 ),
0050
0051 TP_fast_assign(
0052 __entry->dev = dev->primary->index;
0053 __entry->is_render = is_render;
0054 __entry->seqno = seqno;
0055 __entry->ctnqba = ctnqba;
0056 __entry->ctnqea = ctnqea;
0057 ),
0058
0059 TP_printk("dev=%u, %s, seqno=%llu, 0x%08x..0x%08x",
0060 __entry->dev,
0061 __entry->is_render ? "RCL" : "BCL",
0062 __entry->seqno,
0063 __entry->ctnqba,
0064 __entry->ctnqea)
0065 );
0066
0067 TRACE_EVENT(v3d_bcl_irq,
0068 TP_PROTO(struct drm_device *dev,
0069 uint64_t seqno),
0070 TP_ARGS(dev, seqno),
0071
0072 TP_STRUCT__entry(
0073 __field(u32, dev)
0074 __field(u64, seqno)
0075 ),
0076
0077 TP_fast_assign(
0078 __entry->dev = dev->primary->index;
0079 __entry->seqno = seqno;
0080 ),
0081
0082 TP_printk("dev=%u, seqno=%llu",
0083 __entry->dev,
0084 __entry->seqno)
0085 );
0086
0087 TRACE_EVENT(v3d_rcl_irq,
0088 TP_PROTO(struct drm_device *dev,
0089 uint64_t seqno),
0090 TP_ARGS(dev, seqno),
0091
0092 TP_STRUCT__entry(
0093 __field(u32, dev)
0094 __field(u64, seqno)
0095 ),
0096
0097 TP_fast_assign(
0098 __entry->dev = dev->primary->index;
0099 __entry->seqno = seqno;
0100 ),
0101
0102 TP_printk("dev=%u, seqno=%llu",
0103 __entry->dev,
0104 __entry->seqno)
0105 );
0106
0107 TRACE_EVENT(v3d_tfu_irq,
0108 TP_PROTO(struct drm_device *dev,
0109 uint64_t seqno),
0110 TP_ARGS(dev, seqno),
0111
0112 TP_STRUCT__entry(
0113 __field(u32, dev)
0114 __field(u64, seqno)
0115 ),
0116
0117 TP_fast_assign(
0118 __entry->dev = dev->primary->index;
0119 __entry->seqno = seqno;
0120 ),
0121
0122 TP_printk("dev=%u, seqno=%llu",
0123 __entry->dev,
0124 __entry->seqno)
0125 );
0126
0127 TRACE_EVENT(v3d_csd_irq,
0128 TP_PROTO(struct drm_device *dev,
0129 uint64_t seqno),
0130 TP_ARGS(dev, seqno),
0131
0132 TP_STRUCT__entry(
0133 __field(u32, dev)
0134 __field(u64, seqno)
0135 ),
0136
0137 TP_fast_assign(
0138 __entry->dev = dev->primary->index;
0139 __entry->seqno = seqno;
0140 ),
0141
0142 TP_printk("dev=%u, seqno=%llu",
0143 __entry->dev,
0144 __entry->seqno)
0145 );
0146
0147 TRACE_EVENT(v3d_submit_tfu_ioctl,
0148 TP_PROTO(struct drm_device *dev, u32 iia),
0149 TP_ARGS(dev, iia),
0150
0151 TP_STRUCT__entry(
0152 __field(u32, dev)
0153 __field(u32, iia)
0154 ),
0155
0156 TP_fast_assign(
0157 __entry->dev = dev->primary->index;
0158 __entry->iia = iia;
0159 ),
0160
0161 TP_printk("dev=%u, IIA 0x%08x",
0162 __entry->dev,
0163 __entry->iia)
0164 );
0165
0166 TRACE_EVENT(v3d_submit_tfu,
0167 TP_PROTO(struct drm_device *dev,
0168 uint64_t seqno),
0169 TP_ARGS(dev, seqno),
0170
0171 TP_STRUCT__entry(
0172 __field(u32, dev)
0173 __field(u64, seqno)
0174 ),
0175
0176 TP_fast_assign(
0177 __entry->dev = dev->primary->index;
0178 __entry->seqno = seqno;
0179 ),
0180
0181 TP_printk("dev=%u, seqno=%llu",
0182 __entry->dev,
0183 __entry->seqno)
0184 );
0185
0186 TRACE_EVENT(v3d_submit_csd_ioctl,
0187 TP_PROTO(struct drm_device *dev, u32 cfg5, u32 cfg6),
0188 TP_ARGS(dev, cfg5, cfg6),
0189
0190 TP_STRUCT__entry(
0191 __field(u32, dev)
0192 __field(u32, cfg5)
0193 __field(u32, cfg6)
0194 ),
0195
0196 TP_fast_assign(
0197 __entry->dev = dev->primary->index;
0198 __entry->cfg5 = cfg5;
0199 __entry->cfg6 = cfg6;
0200 ),
0201
0202 TP_printk("dev=%u, CFG5 0x%08x, CFG6 0x%08x",
0203 __entry->dev,
0204 __entry->cfg5,
0205 __entry->cfg6)
0206 );
0207
0208 TRACE_EVENT(v3d_submit_csd,
0209 TP_PROTO(struct drm_device *dev,
0210 uint64_t seqno),
0211 TP_ARGS(dev, seqno),
0212
0213 TP_STRUCT__entry(
0214 __field(u32, dev)
0215 __field(u64, seqno)
0216 ),
0217
0218 TP_fast_assign(
0219 __entry->dev = dev->primary->index;
0220 __entry->seqno = seqno;
0221 ),
0222
0223 TP_printk("dev=%u, seqno=%llu",
0224 __entry->dev,
0225 __entry->seqno)
0226 );
0227
0228 TRACE_EVENT(v3d_cache_clean_begin,
0229 TP_PROTO(struct drm_device *dev),
0230 TP_ARGS(dev),
0231
0232 TP_STRUCT__entry(
0233 __field(u32, dev)
0234 ),
0235
0236 TP_fast_assign(
0237 __entry->dev = dev->primary->index;
0238 ),
0239
0240 TP_printk("dev=%u",
0241 __entry->dev)
0242 );
0243
0244 TRACE_EVENT(v3d_cache_clean_end,
0245 TP_PROTO(struct drm_device *dev),
0246 TP_ARGS(dev),
0247
0248 TP_STRUCT__entry(
0249 __field(u32, dev)
0250 ),
0251
0252 TP_fast_assign(
0253 __entry->dev = dev->primary->index;
0254 ),
0255
0256 TP_printk("dev=%u",
0257 __entry->dev)
0258 );
0259
0260 TRACE_EVENT(v3d_reset_begin,
0261 TP_PROTO(struct drm_device *dev),
0262 TP_ARGS(dev),
0263
0264 TP_STRUCT__entry(
0265 __field(u32, dev)
0266 ),
0267
0268 TP_fast_assign(
0269 __entry->dev = dev->primary->index;
0270 ),
0271
0272 TP_printk("dev=%u",
0273 __entry->dev)
0274 );
0275
0276 TRACE_EVENT(v3d_reset_end,
0277 TP_PROTO(struct drm_device *dev),
0278 TP_ARGS(dev),
0279
0280 TP_STRUCT__entry(
0281 __field(u32, dev)
0282 ),
0283
0284 TP_fast_assign(
0285 __entry->dev = dev->primary->index;
0286 ),
0287
0288 TP_printk("dev=%u",
0289 __entry->dev)
0290 );
0291
0292 #endif
0293
0294
0295 #undef TRACE_INCLUDE_PATH
0296 #define TRACE_INCLUDE_PATH .
0297 #include <trace/define_trace.h>