^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-or-later */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * include/trace/events/host1x.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * host1x event logging to ftrace.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) * Copyright (c) 2010-2013, NVIDIA Corporation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #undef TRACE_SYSTEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #define TRACE_SYSTEM host1x
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #if !defined(_TRACE_HOST1X_H) || defined(TRACE_HEADER_MULTI_READ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #define _TRACE_HOST1X_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) #include <linux/ktime.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #include <linux/tracepoint.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) struct host1x_bo;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) DECLARE_EVENT_CLASS(host1x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) TP_PROTO(const char *name),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) TP_ARGS(name),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) TP_STRUCT__entry(__field(const char *, name)),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) TP_fast_assign(__entry->name = name;),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) TP_printk("name=%s", __entry->name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) DEFINE_EVENT(host1x, host1x_channel_open,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) TP_PROTO(const char *name),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) TP_ARGS(name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) DEFINE_EVENT(host1x, host1x_channel_release,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) TP_PROTO(const char *name),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) TP_ARGS(name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) DEFINE_EVENT(host1x, host1x_cdma_begin,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) TP_PROTO(const char *name),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) TP_ARGS(name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) DEFINE_EVENT(host1x, host1x_cdma_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) TP_PROTO(const char *name),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) TP_ARGS(name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) TRACE_EVENT(host1x_cdma_push,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) TP_PROTO(const char *name, u32 op1, u32 op2),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) TP_ARGS(name, op1, op2),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) __field(const char *, name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) __field(u32, op1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) __field(u32, op2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) __entry->name = name;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) __entry->op1 = op1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) __entry->op2 = op2;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) TP_printk("name=%s, op1=%08x, op2=%08x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) __entry->name, __entry->op1, __entry->op2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) TRACE_EVENT(host1x_cdma_push_wide,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) TP_PROTO(const char *name, u32 op1, u32 op2, u32 op3, u32 op4),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) TP_ARGS(name, op1, op2, op3, op4),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) __field(const char *, name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) __field(u32, op1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) __field(u32, op2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) __field(u32, op3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) __field(u32, op4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) __entry->name = name;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) __entry->op1 = op1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) __entry->op2 = op2;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) __entry->op3 = op3;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) __entry->op4 = op4;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) TP_printk("name=%s, op1=%08x, op2=%08x, op3=%08x op4=%08x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) __entry->name, __entry->op1, __entry->op2, __entry->op3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) __entry->op4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) TRACE_EVENT(host1x_cdma_push_gather,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) TP_PROTO(const char *name, struct host1x_bo *bo,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) u32 words, u32 offset, void *cmdbuf),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) TP_ARGS(name, bo, words, offset, cmdbuf),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) __field(const char *, name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) __field(struct host1x_bo *, bo)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) __field(u32, words)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) __field(u32, offset)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) __field(bool, cmdbuf)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) __dynamic_array(u32, cmdbuf, words)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) if (cmdbuf) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) memcpy(__get_dynamic_array(cmdbuf), cmdbuf+offset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) words * sizeof(u32));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) __entry->cmdbuf = cmdbuf;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) __entry->name = name;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) __entry->bo = bo;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) __entry->words = words;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) __entry->offset = offset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) TP_printk("name=%s, bo=%p, words=%u, offset=%d, contents=[%s]",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) __entry->name, __entry->bo,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) __entry->words, __entry->offset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) __print_hex(__get_dynamic_array(cmdbuf),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) __entry->cmdbuf ? __entry->words * 4 : 0))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) TRACE_EVENT(host1x_channel_submit,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) TP_PROTO(const char *name, u32 cmdbufs, u32 relocs, u32 syncpt_id,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) u32 syncpt_incrs),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) TP_ARGS(name, cmdbufs, relocs, syncpt_id, syncpt_incrs),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) __field(const char *, name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) __field(u32, cmdbufs)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) __field(u32, relocs)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) __field(u32, syncpt_id)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) __field(u32, syncpt_incrs)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) __entry->name = name;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) __entry->cmdbufs = cmdbufs;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) __entry->relocs = relocs;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) __entry->syncpt_id = syncpt_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) __entry->syncpt_incrs = syncpt_incrs;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) TP_printk("name=%s, cmdbufs=%u, relocs=%u, syncpt_id=%u, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) "syncpt_incrs=%u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) __entry->name, __entry->cmdbufs, __entry->relocs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) __entry->syncpt_id, __entry->syncpt_incrs)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) TRACE_EVENT(host1x_channel_submitted,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) TP_PROTO(const char *name, u32 syncpt_base, u32 syncpt_max),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) TP_ARGS(name, syncpt_base, syncpt_max),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) __field(const char *, name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) __field(u32, syncpt_base)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) __field(u32, syncpt_max)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) __entry->name = name;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) __entry->syncpt_base = syncpt_base;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) __entry->syncpt_max = syncpt_max;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) TP_printk("name=%s, syncpt_base=%d, syncpt_max=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) __entry->name, __entry->syncpt_base, __entry->syncpt_max)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) TRACE_EVENT(host1x_channel_submit_complete,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) TP_PROTO(const char *name, int count, u32 thresh),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) TP_ARGS(name, count, thresh),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) __field(const char *, name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) __field(int, count)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) __field(u32, thresh)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) __entry->name = name;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) __entry->count = count;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) __entry->thresh = thresh;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) TP_printk("name=%s, count=%d, thresh=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) __entry->name, __entry->count, __entry->thresh)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) TRACE_EVENT(host1x_wait_cdma,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) TP_PROTO(const char *name, u32 eventid),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) TP_ARGS(name, eventid),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) __field(const char *, name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) __field(u32, eventid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) __entry->name = name;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) __entry->eventid = eventid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) TP_printk("name=%s, event=%d", __entry->name, __entry->eventid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) TRACE_EVENT(host1x_syncpt_load_min,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) TP_PROTO(u32 id, u32 val),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) TP_ARGS(id, val),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) __field(u32, id)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) __field(u32, val)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) __entry->id = id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) __entry->val = val;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) TP_printk("id=%d, val=%d", __entry->id, __entry->val)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) TRACE_EVENT(host1x_syncpt_wait_check,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) TP_PROTO(struct host1x_bo *bo, u32 offset, u32 syncpt_id, u32 thresh,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) u32 min),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) TP_ARGS(bo, offset, syncpt_id, thresh, min),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) __field(struct host1x_bo *, bo)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) __field(u32, offset)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) __field(u32, syncpt_id)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) __field(u32, thresh)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) __field(u32, min)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) __entry->bo = bo;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) __entry->offset = offset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) __entry->syncpt_id = syncpt_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) __entry->thresh = thresh;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) __entry->min = min;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) TP_printk("bo=%p, offset=%05x, id=%d, thresh=%d, current=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) __entry->bo, __entry->offset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) __entry->syncpt_id, __entry->thresh,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) __entry->min)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) #endif /* _TRACE_HOST1X_H */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) /* This part must be outside protection */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) #include <trace/define_trace.h>