Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0+
0002 /* Copyright (C) 2015-2018 Broadcom */
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 /* _V3D_TRACE_H_ */
0293 
0294 /* This part must be outside protection */
0295 #undef TRACE_INCLUDE_PATH
0296 #define TRACE_INCLUDE_PATH .
0297 #include <trace/define_trace.h>