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 
10 #define IB_EVENT_LIST				\
11 	ib_event(CQ_ERR)			\
12 	ib_event(QP_FATAL)			\
13 	ib_event(QP_REQ_ERR)			\
14 	ib_event(QP_ACCESS_ERR)			\
15 	ib_event(COMM_EST)			\
16 	ib_event(SQ_DRAINED)			\
17 	ib_event(PATH_MIG)			\
18 	ib_event(PATH_MIG_ERR)			\
19 	ib_event(DEVICE_FATAL)			\
20 	ib_event(PORT_ACTIVE)			\
21 	ib_event(PORT_ERR)			\
22 	ib_event(LID_CHANGE)			\
23 	ib_event(PKEY_CHANGE)			\
24 	ib_event(SM_CHANGE)			\
25 	ib_event(SRQ_ERR)			\
26 	ib_event(SRQ_LIMIT_REACHED)		\
27 	ib_event(QP_LAST_WQE_REACHED)		\
28 	ib_event(CLIENT_REREGISTER)		\
29 	ib_event(GID_CHANGE)			\
30 	ib_event_end(WQ_FATAL)
31 
32 #undef ib_event
33 #undef ib_event_end
34 
35 #define ib_event(x)		TRACE_DEFINE_ENUM(IB_EVENT_##x);
36 #define ib_event_end(x)		TRACE_DEFINE_ENUM(IB_EVENT_##x);
37 
38 IB_EVENT_LIST
39 
40 #undef ib_event
41 #undef ib_event_end
42 
43 #define ib_event(x)		{ IB_EVENT_##x, #x },
44 #define ib_event_end(x)		{ IB_EVENT_##x, #x }
45 
46 #define rdma_show_ib_event(x) \
47 		__print_symbolic(x, IB_EVENT_LIST)
48 
49 /*
50  * enum ib_wc_status type, from include/rdma/ib_verbs.h
51  */
52 #define IB_WC_STATUS_LIST			\
53 	ib_wc_status(SUCCESS)			\
54 	ib_wc_status(LOC_LEN_ERR)		\
55 	ib_wc_status(LOC_QP_OP_ERR)		\
56 	ib_wc_status(LOC_EEC_OP_ERR)		\
57 	ib_wc_status(LOC_PROT_ERR)		\
58 	ib_wc_status(WR_FLUSH_ERR)		\
59 	ib_wc_status(MW_BIND_ERR)		\
60 	ib_wc_status(BAD_RESP_ERR)		\
61 	ib_wc_status(LOC_ACCESS_ERR)		\
62 	ib_wc_status(REM_INV_REQ_ERR)		\
63 	ib_wc_status(REM_ACCESS_ERR)		\
64 	ib_wc_status(REM_OP_ERR)		\
65 	ib_wc_status(RETRY_EXC_ERR)		\
66 	ib_wc_status(RNR_RETRY_EXC_ERR)		\
67 	ib_wc_status(LOC_RDD_VIOL_ERR)		\
68 	ib_wc_status(REM_INV_RD_REQ_ERR)	\
69 	ib_wc_status(REM_ABORT_ERR)		\
70 	ib_wc_status(INV_EECN_ERR)		\
71 	ib_wc_status(INV_EEC_STATE_ERR)		\
72 	ib_wc_status(FATAL_ERR)			\
73 	ib_wc_status(RESP_TIMEOUT_ERR)		\
74 	ib_wc_status_end(GENERAL_ERR)
75 
76 #undef ib_wc_status
77 #undef ib_wc_status_end
78 
79 #define ib_wc_status(x)		TRACE_DEFINE_ENUM(IB_WC_##x);
80 #define ib_wc_status_end(x)	TRACE_DEFINE_ENUM(IB_WC_##x);
81 
82 IB_WC_STATUS_LIST
83 
84 #undef ib_wc_status
85 #undef ib_wc_status_end
86 
87 #define ib_wc_status(x)		{ IB_WC_##x, #x },
88 #define ib_wc_status_end(x)	{ IB_WC_##x, #x }
89 
90 #define rdma_show_wc_status(x) \
91 		__print_symbolic(x, IB_WC_STATUS_LIST)
92 
93 /*
94  * enum rdma_cm_event_type, from include/rdma/rdma_cm.h
95  */
96 #define RDMA_CM_EVENT_LIST			\
97 	rdma_cm_event(ADDR_RESOLVED)		\
98 	rdma_cm_event(ADDR_ERROR)		\
99 	rdma_cm_event(ROUTE_RESOLVED)		\
100 	rdma_cm_event(ROUTE_ERROR)		\
101 	rdma_cm_event(CONNECT_REQUEST)		\
102 	rdma_cm_event(CONNECT_RESPONSE)		\
103 	rdma_cm_event(CONNECT_ERROR)		\
104 	rdma_cm_event(UNREACHABLE)		\
105 	rdma_cm_event(REJECTED)			\
106 	rdma_cm_event(ESTABLISHED)		\
107 	rdma_cm_event(DISCONNECTED)		\
108 	rdma_cm_event(DEVICE_REMOVAL)		\
109 	rdma_cm_event(MULTICAST_JOIN)		\
110 	rdma_cm_event(MULTICAST_ERROR)		\
111 	rdma_cm_event(ADDR_CHANGE)		\
112 	rdma_cm_event_end(TIMEWAIT_EXIT)
113 
114 #undef rdma_cm_event
115 #undef rdma_cm_event_end
116 
117 #define rdma_cm_event(x)	TRACE_DEFINE_ENUM(RDMA_CM_EVENT_##x);
118 #define rdma_cm_event_end(x)	TRACE_DEFINE_ENUM(RDMA_CM_EVENT_##x);
119 
120 RDMA_CM_EVENT_LIST
121 
122 #undef rdma_cm_event
123 #undef rdma_cm_event_end
124 
125 #define rdma_cm_event(x)	{ RDMA_CM_EVENT_##x, #x },
126 #define rdma_cm_event_end(x)	{ RDMA_CM_EVENT_##x, #x }
127 
128 #define rdma_show_cm_event(x) \
129 		__print_symbolic(x, RDMA_CM_EVENT_LIST)
130