GNU Linux-libre 5.19-rc6-gnu
[releases.git] / drivers / infiniband / sw / rdmavt / trace_rc.h
1 /* SPDX-License-Identifier: GPL-2.0 or BSD-3-Clause */
2 /*
3  * Copyright(c) 2017 Intel Corporation.
4  */
5 #if !defined(__RVT_TRACE_RC_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define __RVT_TRACE_RC_H
7
8 #include <linux/tracepoint.h>
9 #include <linux/trace_seq.h>
10
11 #include <rdma/ib_verbs.h>
12 #include <rdma/rdmavt_qp.h>
13
14 #undef TRACE_SYSTEM
15 #define TRACE_SYSTEM rvt_rc
16
17 DECLARE_EVENT_CLASS(rvt_rc_template,
18                     TP_PROTO(struct rvt_qp *qp, u32 psn),
19                     TP_ARGS(qp, psn),
20                     TP_STRUCT__entry(
21                         RDI_DEV_ENTRY(ib_to_rvt(qp->ibqp.device))
22                         __field(u32, qpn)
23                         __field(u32, s_flags)
24                         __field(u32, psn)
25                         __field(u32, s_psn)
26                         __field(u32, s_next_psn)
27                         __field(u32, s_sending_psn)
28                         __field(u32, s_sending_hpsn)
29                         __field(u32, r_psn)
30                         ),
31                     TP_fast_assign(
32                         RDI_DEV_ASSIGN(ib_to_rvt(qp->ibqp.device));
33                         __entry->qpn = qp->ibqp.qp_num;
34                         __entry->s_flags = qp->s_flags;
35                         __entry->psn = psn;
36                         __entry->s_psn = qp->s_psn;
37                         __entry->s_next_psn = qp->s_next_psn;
38                         __entry->s_sending_psn = qp->s_sending_psn;
39                         __entry->s_sending_hpsn = qp->s_sending_hpsn;
40                         __entry->r_psn = qp->r_psn;
41                         ),
42                     TP_printk(
43                         "[%s] qpn 0x%x s_flags 0x%x psn 0x%x s_psn 0x%x s_next_psn 0x%x s_sending_psn 0x%x sending_hpsn 0x%x r_psn 0x%x",
44                         __get_str(dev),
45                         __entry->qpn,
46                         __entry->s_flags,
47                         __entry->psn,
48                         __entry->s_psn,
49                         __entry->s_next_psn,
50                         __entry->s_sending_psn,
51                         __entry->s_sending_hpsn,
52                         __entry->r_psn
53                         )
54 );
55
56 DEFINE_EVENT(rvt_rc_template, rvt_rc_timeout,
57              TP_PROTO(struct rvt_qp *qp, u32 psn),
58              TP_ARGS(qp, psn)
59 );
60
61 #endif /* __RVT_TRACE_RC_H */
62
63 #undef TRACE_INCLUDE_PATH
64 #undef TRACE_INCLUDE_FILE
65 #define TRACE_INCLUDE_PATH .
66 #define TRACE_INCLUDE_FILE trace_rc
67 #include <trace/define_trace.h>