1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
3 * Copyright(c) 2015 - 2020 Intel Corporation.
5 #define CREATE_TRACE_POINTS
10 static u8
__get_ib_hdr_len(struct ib_header
*hdr
)
12 struct ib_other_headers
*ohdr
;
15 if (ib_get_lnh(hdr
) == HFI1_LRH_BTH
)
19 opcode
= ib_bth_get_opcode(ohdr
);
20 return hdr_len_by_opcode
[opcode
] == 0 ?
21 0 : hdr_len_by_opcode
[opcode
] - (12 + 8);
24 static u8
__get_16b_hdr_len(struct hfi1_16b_header
*hdr
)
26 struct ib_other_headers
*ohdr
= NULL
;
28 u8 l4
= hfi1_16B_get_l4(hdr
);
30 if (l4
== OPA_16B_L4_FM
) {
31 opcode
= IB_OPCODE_UD_SEND_ONLY
;
32 return (8 + 8); /* No BTH */
35 if (l4
== OPA_16B_L4_IB_LOCAL
)
40 opcode
= ib_bth_get_opcode(ohdr
);
41 return hdr_len_by_opcode
[opcode
] == 0 ?
42 0 : hdr_len_by_opcode
[opcode
] - (12 + 8 + 8);
45 u8
hfi1_trace_packet_hdr_len(struct hfi1_packet
*packet
)
47 if (packet
->etype
!= RHF_RCV_TYPE_BYPASS
)
48 return __get_ib_hdr_len(packet
->hdr
);
50 return __get_16b_hdr_len(packet
->hdr
);
53 u8
hfi1_trace_opa_hdr_len(struct hfi1_opa_header
*opa_hdr
)
55 if (!opa_hdr
->hdr_type
)
56 return __get_ib_hdr_len(&opa_hdr
->ibh
);
58 return __get_16b_hdr_len(&opa_hdr
->opah
);
61 const char *hfi1_trace_get_packet_l4_str(u8 l4
)
69 const char *hfi1_trace_get_packet_l2_str(u8 l2
)
84 #define IMM_PRN "imm:%d"
85 #define RETH_PRN "reth vaddr:0x%.16llx rkey:0x%.8x dlen:0x%.8x"
86 #define AETH_PRN "aeth syn:0x%.2x %s msn:0x%.8x"
87 #define DETH_PRN "deth qkey:0x%.8x sqpn:0x%.6x"
88 #define DETH_ENTROPY_PRN "deth qkey:0x%.8x sqpn:0x%.6x entropy:0x%.2x"
89 #define IETH_PRN "ieth rkey:0x%.8x"
90 #define ATOMICACKETH_PRN "origdata:%llx"
91 #define ATOMICETH_PRN "vaddr:0x%llx rkey:0x%.8x sdata:%llx cdata:%llx"
92 #define TID_RDMA_KDETH "kdeth0 0x%x kdeth1 0x%x"
93 #define TID_RDMA_KDETH_DATA "kdeth0 0x%x: kver %u sh %u intr %u tidctrl %u tid %x offset %x kdeth1 0x%x: jkey %x"
94 #define TID_READ_REQ_PRN "tid_flow_psn 0x%x tid_flow_qp 0x%x verbs_qp 0x%x"
95 #define TID_READ_RSP_PRN "verbs_qp 0x%x"
96 #define TID_WRITE_REQ_PRN "original_qp 0x%x"
97 #define TID_WRITE_RSP_PRN "tid_flow_psn 0x%x tid_flow_qp 0x%x verbs_qp 0x%x"
98 #define TID_WRITE_DATA_PRN "verbs_qp 0x%x"
99 #define TID_ACK_PRN "tid_flow_psn 0x%x verbs_psn 0x%x tid_flow_qp 0x%x verbs_qp 0x%x"
100 #define TID_RESYNC_PRN "verbs_qp 0x%x"
102 #define OP(transport, op) IB_OPCODE_## transport ## _ ## op
104 static const char *parse_syndrome(u8 syndrome
)
106 switch (syndrome
>> 5) {
117 void hfi1_trace_parse_9b_bth(struct ib_other_headers
*ohdr
,
118 u8
*ack
, bool *becn
, bool *fecn
, u8
*mig
,
119 u8
*se
, u8
*pad
, u8
*opcode
, u8
*tver
,
120 u16
*pkey
, u32
*psn
, u32
*qpn
)
122 *ack
= ib_bth_get_ackreq(ohdr
);
123 *becn
= ib_bth_get_becn(ohdr
);
124 *fecn
= ib_bth_get_fecn(ohdr
);
125 *mig
= ib_bth_get_migreq(ohdr
);
126 *se
= ib_bth_get_se(ohdr
);
127 *pad
= ib_bth_get_pad(ohdr
);
128 *opcode
= ib_bth_get_opcode(ohdr
);
129 *tver
= ib_bth_get_tver(ohdr
);
130 *pkey
= ib_bth_get_pkey(ohdr
);
131 *psn
= mask_psn(ib_bth_get_psn(ohdr
));
132 *qpn
= ib_bth_get_qpn(ohdr
);
135 void hfi1_trace_parse_16b_bth(struct ib_other_headers
*ohdr
,
136 u8
*ack
, u8
*mig
, u8
*opcode
,
137 u8
*pad
, u8
*se
, u8
*tver
,
140 *ack
= ib_bth_get_ackreq(ohdr
);
141 *mig
= ib_bth_get_migreq(ohdr
);
142 *opcode
= ib_bth_get_opcode(ohdr
);
143 *pad
= ib_bth_get_pad(ohdr
);
144 *se
= ib_bth_get_se(ohdr
);
145 *tver
= ib_bth_get_tver(ohdr
);
146 *psn
= mask_psn(ib_bth_get_psn(ohdr
));
147 *qpn
= ib_bth_get_qpn(ohdr
);
150 static u16
ib_get_len(const struct ib_header
*hdr
)
152 return be16_to_cpu(hdr
->lrh
[2]);
155 void hfi1_trace_parse_9b_hdr(struct ib_header
*hdr
, bool sc5
,
156 u8
*lnh
, u8
*lver
, u8
*sl
, u8
*sc
,
157 u16
*len
, u32
*dlid
, u32
*slid
)
159 *lnh
= ib_get_lnh(hdr
);
160 *lver
= ib_get_lver(hdr
);
161 *sl
= ib_get_sl(hdr
);
162 *sc
= ib_get_sc(hdr
) | (sc5
<< 4);
163 *len
= ib_get_len(hdr
);
164 *dlid
= ib_get_dlid(hdr
);
165 *slid
= ib_get_slid(hdr
);
168 void hfi1_trace_parse_16b_hdr(struct hfi1_16b_header
*hdr
,
169 u8
*age
, bool *becn
, bool *fecn
,
170 u8
*l4
, u8
*rc
, u8
*sc
,
171 u16
*entropy
, u16
*len
, u16
*pkey
,
172 u32
*dlid
, u32
*slid
)
174 *age
= hfi1_16B_get_age(hdr
);
175 *becn
= hfi1_16B_get_becn(hdr
);
176 *fecn
= hfi1_16B_get_fecn(hdr
);
177 *l4
= hfi1_16B_get_l4(hdr
);
178 *rc
= hfi1_16B_get_rc(hdr
);
179 *sc
= hfi1_16B_get_sc(hdr
);
180 *entropy
= hfi1_16B_get_entropy(hdr
);
181 *len
= hfi1_16B_get_len(hdr
);
182 *pkey
= hfi1_16B_get_pkey(hdr
);
183 *dlid
= hfi1_16B_get_dlid(hdr
);
184 *slid
= hfi1_16B_get_slid(hdr
);
187 #define LRH_PRN "len:%d sc:%d dlid:0x%.4x slid:0x%.4x "
188 #define LRH_9B_PRN "lnh:%d,%s lver:%d sl:%d"
189 #define LRH_16B_PRN "age:%d becn:%d fecn:%d l4:%d " \
190 "rc:%d sc:%d pkey:0x%.4x entropy:0x%.4x"
191 const char *hfi1_trace_fmt_lrh(struct trace_seq
*p
, bool bypass
,
192 u8 age
, bool becn
, bool fecn
, u8 l4
,
193 u8 lnh
, const char *lnh_name
, u8 lver
,
194 u8 rc
, u8 sc
, u8 sl
, u16 entropy
,
195 u16 len
, u16 pkey
, u32 dlid
, u32 slid
)
197 const char *ret
= trace_seq_buffer_ptr(p
);
199 trace_seq_printf(p
, LRH_PRN
, len
, sc
, dlid
, slid
);
202 trace_seq_printf(p
, LRH_16B_PRN
,
203 age
, becn
, fecn
, l4
, rc
, sc
, pkey
, entropy
);
206 trace_seq_printf(p
, LRH_9B_PRN
,
207 lnh
, lnh_name
, lver
, sl
);
208 trace_seq_putc(p
, 0);
214 "op:0x%.2x,%s se:%d m:%d pad:%d tver:%d pkey:0x%.4x " \
215 "f:%d b:%d qpn:0x%.6x a:%d psn:0x%.8x"
216 #define BTH_16B_PRN \
217 "op:0x%.2x,%s se:%d m:%d pad:%d tver:%d " \
218 "qpn:0x%.6x a:%d psn:0x%.8x"
219 #define L4_FM_16B_PRN \
220 "op:0x%.2x,%s dest_qpn:0x%.6x src_qpn:0x%.6x"
221 const char *hfi1_trace_fmt_rest(struct trace_seq
*p
, bool bypass
, u8 l4
,
222 u8 ack
, bool becn
, bool fecn
, u8 mig
,
223 u8 se
, u8 pad
, u8 opcode
, const char *opname
,
224 u8 tver
, u16 pkey
, u32 psn
, u32 qpn
,
225 u32 dest_qpn
, u32 src_qpn
)
227 const char *ret
= trace_seq_buffer_ptr(p
);
230 if (l4
== OPA_16B_L4_FM
)
231 trace_seq_printf(p
, L4_FM_16B_PRN
,
232 opcode
, opname
, dest_qpn
, src_qpn
);
234 trace_seq_printf(p
, BTH_16B_PRN
,
236 se
, mig
, pad
, tver
, qpn
, ack
, psn
);
239 trace_seq_printf(p
, BTH_9B_PRN
,
241 se
, mig
, pad
, tver
, pkey
, fecn
, becn
,
243 trace_seq_putc(p
, 0);
248 const char *parse_everbs_hdrs(
250 u8 opcode
, u8 l4
, u32 dest_qpn
, u32 src_qpn
,
253 union ib_ehdrs
*eh
= ehdrs
;
254 const char *ret
= trace_seq_buffer_ptr(p
);
256 if (l4
== OPA_16B_L4_FM
) {
257 trace_seq_printf(p
, "mgmt pkt");
263 case OP(RC
, SEND_LAST_WITH_IMMEDIATE
):
264 case OP(UC
, SEND_LAST_WITH_IMMEDIATE
):
265 case OP(RC
, SEND_ONLY_WITH_IMMEDIATE
):
266 case OP(UC
, SEND_ONLY_WITH_IMMEDIATE
):
267 case OP(RC
, RDMA_WRITE_LAST_WITH_IMMEDIATE
):
268 case OP(UC
, RDMA_WRITE_LAST_WITH_IMMEDIATE
):
269 trace_seq_printf(p
, IMM_PRN
,
270 be32_to_cpu(eh
->imm_data
));
273 case OP(RC
, RDMA_WRITE_ONLY_WITH_IMMEDIATE
):
274 case OP(UC
, RDMA_WRITE_ONLY_WITH_IMMEDIATE
):
275 trace_seq_printf(p
, RETH_PRN
" " IMM_PRN
,
276 get_ib_reth_vaddr(&eh
->rc
.reth
),
277 be32_to_cpu(eh
->rc
.reth
.rkey
),
278 be32_to_cpu(eh
->rc
.reth
.length
),
279 be32_to_cpu(eh
->rc
.imm_data
));
282 case OP(RC
, RDMA_READ_REQUEST
):
283 case OP(RC
, RDMA_WRITE_FIRST
):
284 case OP(UC
, RDMA_WRITE_FIRST
):
285 case OP(RC
, RDMA_WRITE_ONLY
):
286 case OP(UC
, RDMA_WRITE_ONLY
):
287 trace_seq_printf(p
, RETH_PRN
,
288 get_ib_reth_vaddr(&eh
->rc
.reth
),
289 be32_to_cpu(eh
->rc
.reth
.rkey
),
290 be32_to_cpu(eh
->rc
.reth
.length
));
292 case OP(RC
, RDMA_READ_RESPONSE_FIRST
):
293 case OP(RC
, RDMA_READ_RESPONSE_LAST
):
294 case OP(RC
, RDMA_READ_RESPONSE_ONLY
):
295 case OP(RC
, ACKNOWLEDGE
):
296 trace_seq_printf(p
, AETH_PRN
, be32_to_cpu(eh
->aeth
) >> 24,
297 parse_syndrome(be32_to_cpu(eh
->aeth
) >> 24),
298 be32_to_cpu(eh
->aeth
) & IB_MSN_MASK
);
300 case OP(TID_RDMA
, WRITE_REQ
):
301 trace_seq_printf(p
, TID_RDMA_KDETH
" " RETH_PRN
" "
303 le32_to_cpu(eh
->tid_rdma
.w_req
.kdeth0
),
304 le32_to_cpu(eh
->tid_rdma
.w_req
.kdeth1
),
305 ib_u64_get(&eh
->tid_rdma
.w_req
.reth
.vaddr
),
306 be32_to_cpu(eh
->tid_rdma
.w_req
.reth
.rkey
),
307 be32_to_cpu(eh
->tid_rdma
.w_req
.reth
.length
),
308 be32_to_cpu(eh
->tid_rdma
.w_req
.verbs_qp
));
310 case OP(TID_RDMA
, WRITE_RESP
):
311 trace_seq_printf(p
, TID_RDMA_KDETH
" " AETH_PRN
" "
313 le32_to_cpu(eh
->tid_rdma
.w_rsp
.kdeth0
),
314 le32_to_cpu(eh
->tid_rdma
.w_rsp
.kdeth1
),
315 be32_to_cpu(eh
->tid_rdma
.w_rsp
.aeth
) >> 24,
316 parse_syndrome(/* aeth */
317 be32_to_cpu(eh
->tid_rdma
.w_rsp
.aeth
)
319 (be32_to_cpu(eh
->tid_rdma
.w_rsp
.aeth
) &
321 be32_to_cpu(eh
->tid_rdma
.w_rsp
.tid_flow_psn
),
322 be32_to_cpu(eh
->tid_rdma
.w_rsp
.tid_flow_qp
),
323 be32_to_cpu(eh
->tid_rdma
.w_rsp
.verbs_qp
));
325 case OP(TID_RDMA
, WRITE_DATA_LAST
):
326 case OP(TID_RDMA
, WRITE_DATA
):
327 trace_seq_printf(p
, TID_RDMA_KDETH_DATA
" " TID_WRITE_DATA_PRN
,
328 le32_to_cpu(eh
->tid_rdma
.w_data
.kdeth0
),
329 KDETH_GET(eh
->tid_rdma
.w_data
.kdeth0
, KVER
),
330 KDETH_GET(eh
->tid_rdma
.w_data
.kdeth0
, SH
),
331 KDETH_GET(eh
->tid_rdma
.w_data
.kdeth0
, INTR
),
332 KDETH_GET(eh
->tid_rdma
.w_data
.kdeth0
, TIDCTRL
),
333 KDETH_GET(eh
->tid_rdma
.w_data
.kdeth0
, TID
),
334 KDETH_GET(eh
->tid_rdma
.w_data
.kdeth0
, OFFSET
),
335 le32_to_cpu(eh
->tid_rdma
.w_data
.kdeth1
),
336 KDETH_GET(eh
->tid_rdma
.w_data
.kdeth1
, JKEY
),
337 be32_to_cpu(eh
->tid_rdma
.w_data
.verbs_qp
));
339 case OP(TID_RDMA
, READ_REQ
):
340 trace_seq_printf(p
, TID_RDMA_KDETH
" " RETH_PRN
" "
342 le32_to_cpu(eh
->tid_rdma
.r_req
.kdeth0
),
343 le32_to_cpu(eh
->tid_rdma
.r_req
.kdeth1
),
344 ib_u64_get(&eh
->tid_rdma
.r_req
.reth
.vaddr
),
345 be32_to_cpu(eh
->tid_rdma
.r_req
.reth
.rkey
),
346 be32_to_cpu(eh
->tid_rdma
.r_req
.reth
.length
),
347 be32_to_cpu(eh
->tid_rdma
.r_req
.tid_flow_psn
),
348 be32_to_cpu(eh
->tid_rdma
.r_req
.tid_flow_qp
),
349 be32_to_cpu(eh
->tid_rdma
.r_req
.verbs_qp
));
351 case OP(TID_RDMA
, READ_RESP
):
352 trace_seq_printf(p
, TID_RDMA_KDETH_DATA
" " AETH_PRN
" "
354 le32_to_cpu(eh
->tid_rdma
.r_rsp
.kdeth0
),
355 KDETH_GET(eh
->tid_rdma
.r_rsp
.kdeth0
, KVER
),
356 KDETH_GET(eh
->tid_rdma
.r_rsp
.kdeth0
, SH
),
357 KDETH_GET(eh
->tid_rdma
.r_rsp
.kdeth0
, INTR
),
358 KDETH_GET(eh
->tid_rdma
.r_rsp
.kdeth0
, TIDCTRL
),
359 KDETH_GET(eh
->tid_rdma
.r_rsp
.kdeth0
, TID
),
360 KDETH_GET(eh
->tid_rdma
.r_rsp
.kdeth0
, OFFSET
),
361 le32_to_cpu(eh
->tid_rdma
.r_rsp
.kdeth1
),
362 KDETH_GET(eh
->tid_rdma
.r_rsp
.kdeth1
, JKEY
),
363 be32_to_cpu(eh
->tid_rdma
.r_rsp
.aeth
) >> 24,
364 parse_syndrome(/* aeth */
365 be32_to_cpu(eh
->tid_rdma
.r_rsp
.aeth
)
367 (be32_to_cpu(eh
->tid_rdma
.r_rsp
.aeth
) &
369 be32_to_cpu(eh
->tid_rdma
.r_rsp
.verbs_qp
));
371 case OP(TID_RDMA
, ACK
):
372 trace_seq_printf(p
, TID_RDMA_KDETH
" " AETH_PRN
" "
374 le32_to_cpu(eh
->tid_rdma
.ack
.kdeth0
),
375 le32_to_cpu(eh
->tid_rdma
.ack
.kdeth1
),
376 be32_to_cpu(eh
->tid_rdma
.ack
.aeth
) >> 24,
377 parse_syndrome(/* aeth */
378 be32_to_cpu(eh
->tid_rdma
.ack
.aeth
)
380 (be32_to_cpu(eh
->tid_rdma
.ack
.aeth
) &
382 be32_to_cpu(eh
->tid_rdma
.ack
.tid_flow_psn
),
383 be32_to_cpu(eh
->tid_rdma
.ack
.verbs_psn
),
384 be32_to_cpu(eh
->tid_rdma
.ack
.tid_flow_qp
),
385 be32_to_cpu(eh
->tid_rdma
.ack
.verbs_qp
));
387 case OP(TID_RDMA
, RESYNC
):
388 trace_seq_printf(p
, TID_RDMA_KDETH
" " TID_RESYNC_PRN
,
389 le32_to_cpu(eh
->tid_rdma
.resync
.kdeth0
),
390 le32_to_cpu(eh
->tid_rdma
.resync
.kdeth1
),
391 be32_to_cpu(eh
->tid_rdma
.resync
.verbs_qp
));
393 /* aeth + atomicacketh */
394 case OP(RC
, ATOMIC_ACKNOWLEDGE
):
395 trace_seq_printf(p
, AETH_PRN
" " ATOMICACKETH_PRN
,
396 be32_to_cpu(eh
->at
.aeth
) >> 24,
397 parse_syndrome(be32_to_cpu(eh
->at
.aeth
) >> 24),
398 be32_to_cpu(eh
->at
.aeth
) & IB_MSN_MASK
,
399 ib_u64_get(&eh
->at
.atomic_ack_eth
));
402 case OP(RC
, COMPARE_SWAP
):
403 case OP(RC
, FETCH_ADD
):
404 trace_seq_printf(p
, ATOMICETH_PRN
,
405 get_ib_ateth_vaddr(&eh
->atomic_eth
),
407 get_ib_ateth_swap(&eh
->atomic_eth
),
408 get_ib_ateth_compare(&eh
->atomic_eth
));
411 case OP(UD
, SEND_ONLY
):
412 trace_seq_printf(p
, DETH_ENTROPY_PRN
,
413 be32_to_cpu(eh
->ud
.deth
[0]),
414 be32_to_cpu(eh
->ud
.deth
[1]) & RVT_QPN_MASK
,
415 be32_to_cpu(eh
->ud
.deth
[1]) >>
416 HFI1_IPOIB_ENTROPY_SHIFT
);
418 case OP(UD
, SEND_ONLY_WITH_IMMEDIATE
):
419 trace_seq_printf(p
, DETH_PRN
,
420 be32_to_cpu(eh
->ud
.deth
[0]),
421 be32_to_cpu(eh
->ud
.deth
[1]) & RVT_QPN_MASK
);
424 case OP(RC
, SEND_LAST_WITH_INVALIDATE
):
425 case OP(RC
, SEND_ONLY_WITH_INVALIDATE
):
426 trace_seq_printf(p
, IETH_PRN
,
427 be32_to_cpu(eh
->ieth
));
431 trace_seq_putc(p
, 0);
435 const char *parse_sdma_flags(
437 u64 desc0
, u64 desc1
)
439 const char *ret
= trace_seq_buffer_ptr(p
);
440 char flags
[5] = { 'x', 'x', 'x', 'x', 0 };
442 flags
[0] = (desc1
& SDMA_DESC1_INT_REQ_FLAG
) ? 'I' : '-';
443 flags
[1] = (desc1
& SDMA_DESC1_HEAD_TO_HOST_FLAG
) ? 'H' : '-';
444 flags
[2] = (desc0
& SDMA_DESC0_FIRST_DESC_FLAG
) ? 'F' : '-';
445 flags
[3] = (desc0
& SDMA_DESC0_LAST_DESC_FLAG
) ? 'L' : '-';
446 trace_seq_printf(p
, "%s", flags
);
447 if (desc0
& SDMA_DESC0_FIRST_DESC_FLAG
)
448 trace_seq_printf(p
, " amode:%u aidx:%u alen:%u",
449 (u8
)((desc1
>> SDMA_DESC1_HEADER_MODE_SHIFT
) &
450 SDMA_DESC1_HEADER_MODE_MASK
),
451 (u8
)((desc1
>> SDMA_DESC1_HEADER_INDEX_SHIFT
) &
452 SDMA_DESC1_HEADER_INDEX_MASK
),
453 (u8
)((desc1
>> SDMA_DESC1_HEADER_DWS_SHIFT
) &
454 SDMA_DESC1_HEADER_DWS_MASK
));
458 const char *print_u32_array(
463 const char *ret
= trace_seq_buffer_ptr(p
);
465 for (i
= 0; i
< len
; i
++)
466 trace_seq_printf(p
, "%s%#x", i
== 0 ? "" : " ", arr
[i
]);
467 trace_seq_putc(p
, 0);
471 u8
hfi1_trace_get_tid_ctrl(u32 ent
)
473 return EXP_TID_GET(ent
, CTRL
);
476 u16
hfi1_trace_get_tid_len(u32 ent
)
478 return EXP_TID_GET(ent
, LEN
);
481 u16
hfi1_trace_get_tid_idx(u32 ent
)
483 return EXP_TID_GET(ent
, IDX
);
486 struct hfi1_ctxt_hist
{
491 static struct hfi1_ctxt_hist hist
= {
492 .count
= ATOMIC_INIT(0)
495 const char *hfi1_trace_print_rsm_hist(struct trace_seq
*p
, unsigned int ctxt
)
497 int i
, len
= ARRAY_SIZE(hist
.data
);
498 const char *ret
= trace_seq_buffer_ptr(p
);
499 unsigned long packet_count
= atomic_fetch_inc(&hist
.count
);
501 trace_seq_printf(p
, "packet[%lu]", packet_count
);
502 for (i
= 0; i
< len
; ++i
) {
504 atomic_t
*count
= &hist
.data
[i
];
507 val
= atomic_fetch_inc(count
);
509 val
= atomic_read(count
);
512 trace_seq_printf(p
, "(%d:%lu)", i
, val
);
514 trace_seq_putc(p
, 0);
518 __hfi1_trace_fn(AFFINITY
);
519 __hfi1_trace_fn(PKT
);
520 __hfi1_trace_fn(PROC
);
521 __hfi1_trace_fn(SDMA
);
522 __hfi1_trace_fn(LINKVERB
);
523 __hfi1_trace_fn(DEBUG
);
524 __hfi1_trace_fn(SNOOP
);
525 __hfi1_trace_fn(CNTR
);
526 __hfi1_trace_fn(PIO
);
527 __hfi1_trace_fn(DC8051
);
528 __hfi1_trace_fn(FIRMWARE
);
529 __hfi1_trace_fn(RCVCTRL
);
530 __hfi1_trace_fn(TID
);
531 __hfi1_trace_fn(MMU
);
532 __hfi1_trace_fn(IOCTL
);