1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (c) 2017 Oracle.  All rights reserved.
4  */
5 
6 /*
7  * enum ib_event_type, from include/rdma/ib_verbs.h
8  */
9 #define IB_EVENT_LIST				\
10 	ib_event(CQ_ERR)			\
11 	ib_event(QP_FATAL)			\
12 	ib_event(QP_REQ_ERR)			\
13 	ib_event(QP_ACCESS_ERR)			\
14 	ib_event(COMM_EST)			\
15 	ib_event(SQ_DRAINED)			\
16 	ib_event(PATH_MIG)			\
17 	ib_event(PATH_MIG_ERR)			\
18 	ib_event(DEVICE_FATAL)			\
19 	ib_event(PORT_ACTIVE)			\
20 	ib_event(PORT_ERR)			\
21 	ib_event(LID_CHANGE)			\
22 	ib_event(PKEY_CHANGE)			\
23 	ib_event(SM_CHANGE)			\
24 	ib_event(SRQ_ERR)			\
25 	ib_event(SRQ_LIMIT_REACHED)		\
26 	ib_event(QP_LAST_WQE_REACHED)		\
27 	ib_event(CLIENT_REREGISTER)		\
28 	ib_event(GID_CHANGE)			\
29 	ib_event_end(WQ_FATAL)
30 
31 #undef ib_event
32 #undef ib_event_end
33 
34 #define ib_event(x)		TRACE_DEFINE_ENUM(IB_EVENT_##x);
35 #define ib_event_end(x)		TRACE_DEFINE_ENUM(IB_EVENT_##x);
36 
37 IB_EVENT_LIST
38 
39 #undef ib_event
40 #undef ib_event_end
41 
42 #define ib_event(x)		{ IB_EVENT_##x, #x },
43 #define ib_event_end(x)		{ IB_EVENT_##x, #x }
44 
45 #define rdma_show_ib_event(x) \
46 		__print_symbolic(x, IB_EVENT_LIST)
47 
48 /*
49  * enum ib_wc_status type, from include/rdma/ib_verbs.h
50  */
51 #define IB_WC_STATUS_LIST			\
52 	ib_wc_status(SUCCESS)			\
53 	ib_wc_status(LOC_LEN_ERR)		\
54 	ib_wc_status(LOC_QP_OP_ERR)		\
55 	ib_wc_status(LOC_EEC_OP_ERR)		\
56 	ib_wc_status(LOC_PROT_ERR)		\
57 	ib_wc_status(WR_FLUSH_ERR)		\
58 	ib_wc_status(MW_BIND_ERR)		\
59 	ib_wc_status(BAD_RESP_ERR)		\
60 	ib_wc_status(LOC_ACCESS_ERR)		\
61 	ib_wc_status(REM_INV_REQ_ERR)		\
62 	ib_wc_status(REM_ACCESS_ERR)		\
63 	ib_wc_status(REM_OP_ERR)		\
64 	ib_wc_status(RETRY_EXC_ERR)		\
65 	ib_wc_status(RNR_RETRY_EXC_ERR)		\
66 	ib_wc_status(LOC_RDD_VIOL_ERR)		\
67 	ib_wc_status(REM_INV_RD_REQ_ERR)	\
68 	ib_wc_status(REM_ABORT_ERR)		\
69 	ib_wc_status(INV_EECN_ERR)		\
70 	ib_wc_status(INV_EEC_STATE_ERR)		\
71 	ib_wc_status(FATAL_ERR)			\
72 	ib_wc_status(RESP_TIMEOUT_ERR)		\
73 	ib_wc_status_end(GENERAL_ERR)
74 
75 #undef ib_wc_status
76 #undef ib_wc_status_end
77 
78 #define ib_wc_status(x)		TRACE_DEFINE_ENUM(IB_WC_##x);
79 #define ib_wc_status_end(x)	TRACE_DEFINE_ENUM(IB_WC_##x);
80 
81 IB_WC_STATUS_LIST
82 
83 #undef ib_wc_status
84 #undef ib_wc_status_end
85 
86 #define ib_wc_status(x)		{ IB_WC_##x, #x },
87 #define ib_wc_status_end(x)	{ IB_WC_##x, #x }
88 
89 #define rdma_show_wc_status(x) \
90 		__print_symbolic(x, IB_WC_STATUS_LIST)
91 
92 /*
93  * enum ib_cm_event_type, from include/rdma/ib_cm.h
94  */
95 #define IB_CM_EVENT_LIST			\
96 	ib_cm_event(REQ_ERROR)			\
97 	ib_cm_event(REQ_RECEIVED)		\
98 	ib_cm_event(REP_ERROR)			\
99 	ib_cm_event(REP_RECEIVED)		\
100 	ib_cm_event(RTU_RECEIVED)		\
101 	ib_cm_event(USER_ESTABLISHED)		\
102 	ib_cm_event(DREQ_ERROR)			\
103 	ib_cm_event(DREQ_RECEIVED)		\
104 	ib_cm_event(DREP_RECEIVED)		\
105 	ib_cm_event(TIMEWAIT_EXIT)		\
106 	ib_cm_event(MRA_RECEIVED)		\
107 	ib_cm_event(REJ_RECEIVED)		\
108 	ib_cm_event(LAP_ERROR)			\
109 	ib_cm_event(LAP_RECEIVED)		\
110 	ib_cm_event(APR_RECEIVED)		\
111 	ib_cm_event(SIDR_REQ_ERROR)		\
112 	ib_cm_event(SIDR_REQ_RECEIVED)		\
113 	ib_cm_event_end(SIDR_REP_RECEIVED)
114 
115 #undef ib_cm_event
116 #undef ib_cm_event_end
117 
118 #define ib_cm_event(x)		TRACE_DEFINE_ENUM(IB_CM_##x);
119 #define ib_cm_event_end(x)	TRACE_DEFINE_ENUM(IB_CM_##x);
120 
121 IB_CM_EVENT_LIST
122 
123 #undef ib_cm_event
124 #undef ib_cm_event_end
125 
126 #define ib_cm_event(x)		{ IB_CM_##x, #x },
127 #define ib_cm_event_end(x)	{ IB_CM_##x, #x }
128 
129 #define rdma_show_ib_cm_event(x) \
130 		__print_symbolic(x, IB_CM_EVENT_LIST)
131 
132 /*
133  * enum rdma_cm_event_type, from include/rdma/rdma_cm.h
134  */
135 #define RDMA_CM_EVENT_LIST			\
136 	rdma_cm_event(ADDR_RESOLVED)		\
137 	rdma_cm_event(ADDR_ERROR)		\
138 	rdma_cm_event(ROUTE_RESOLVED)		\
139 	rdma_cm_event(ROUTE_ERROR)		\
140 	rdma_cm_event(CONNECT_REQUEST)		\
141 	rdma_cm_event(CONNECT_RESPONSE)		\
142 	rdma_cm_event(CONNECT_ERROR)		\
143 	rdma_cm_event(UNREACHABLE)		\
144 	rdma_cm_event(REJECTED)			\
145 	rdma_cm_event(ESTABLISHED)		\
146 	rdma_cm_event(DISCONNECTED)		\
147 	rdma_cm_event(DEVICE_REMOVAL)		\
148 	rdma_cm_event(MULTICAST_JOIN)		\
149 	rdma_cm_event(MULTICAST_ERROR)		\
150 	rdma_cm_event(ADDR_CHANGE)		\
151 	rdma_cm_event_end(TIMEWAIT_EXIT)
152 
153 #undef rdma_cm_event
154 #undef rdma_cm_event_end
155 
156 #define rdma_cm_event(x)	TRACE_DEFINE_ENUM(RDMA_CM_EVENT_##x);
157 #define rdma_cm_event_end(x)	TRACE_DEFINE_ENUM(RDMA_CM_EVENT_##x);
158 
159 RDMA_CM_EVENT_LIST
160 
161 #undef rdma_cm_event
162 #undef rdma_cm_event_end
163 
164 #define rdma_cm_event(x)	{ RDMA_CM_EVENT_##x, #x },
165 #define rdma_cm_event_end(x)	{ RDMA_CM_EVENT_##x, #x }
166 
167 #define rdma_show_cm_event(x) \
168 		__print_symbolic(x, RDMA_CM_EVENT_LIST)
169