]>
Commit | Line | Data |
---|---|---|
3ec648c6 | 1 | /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ |
462b6b21 | 2 | /* |
a131d164 | 3 | * Copyright(c) 2015 - 2018 Intel Corporation. |
462b6b21 | 4 | */ |
145eba1a | 5 | |
462b6b21 SS |
6 | #if !defined(__HFI1_TRACE_RX_H) || defined(TRACE_HEADER_MULTI_READ) |
7 | #define __HFI1_TRACE_RX_H | |
8 | ||
9 | #include <linux/tracepoint.h> | |
10 | #include <linux/trace_seq.h> | |
11 | ||
12 | #include "hfi.h" | |
13 | ||
8cb1021b MM |
14 | #define tidtype_name(type) { PT_##type, #type } |
15 | #define show_tidtype(type) \ | |
16 | __print_symbolic(type, \ | |
17 | tidtype_name(EXPECTED), \ | |
18 | tidtype_name(EAGER), \ | |
19 | tidtype_name(INVALID)) \ | |
20 | ||
462b6b21 SS |
21 | #undef TRACE_SYSTEM |
22 | #define TRACE_SYSTEM hfi1_rx | |
23 | ||
24 | TRACE_EVENT(hfi1_rcvhdr, | |
6197a815 DH |
25 | TP_PROTO(struct hfi1_packet *packet), |
26 | TP_ARGS(packet), | |
aca7f4fc | 27 | TP_STRUCT__entry(DD_DEV_ENTRY(packet->rcd->dd) |
462b6b21 SS |
28 | __field(u64, eflags) |
29 | __field(u32, ctxt) | |
30 | __field(u32, etype) | |
31 | __field(u32, hlen) | |
32 | __field(u32, tlen) | |
33 | __field(u32, updegr) | |
34 | __field(u32, etail) | |
35 | ), | |
aca7f4fc SS |
36 | TP_fast_assign(DD_DEV_ASSIGN(packet->rcd->dd); |
37 | __entry->eflags = rhf_err_flags(packet->rhf); | |
38 | __entry->ctxt = packet->rcd->ctxt; | |
6197a815 | 39 | __entry->etype = packet->etype; |
aca7f4fc SS |
40 | __entry->hlen = packet->hlen; |
41 | __entry->tlen = packet->tlen; | |
42 | __entry->updegr = packet->updegr; | |
43 | __entry->etail = rhf_egr_index(packet->rhf); | |
462b6b21 SS |
44 | ), |
45 | TP_printk( | |
46 | "[%s] ctxt %d eflags 0x%llx etype %d,%s hlen %d tlen %d updegr %d etail %d", | |
47 | __get_str(dev), | |
48 | __entry->ctxt, | |
49 | __entry->eflags, | |
50 | __entry->etype, show_packettype(__entry->etype), | |
51 | __entry->hlen, | |
52 | __entry->tlen, | |
53 | __entry->updegr, | |
54 | __entry->etail | |
55 | ) | |
56 | ); | |
57 | ||
58 | TRACE_EVENT(hfi1_receive_interrupt, | |
d295dbeb MR |
59 | TP_PROTO(struct hfi1_devdata *dd, struct hfi1_ctxtdata *rcd), |
60 | TP_ARGS(dd, rcd), | |
462b6b21 SS |
61 | TP_STRUCT__entry(DD_DEV_ENTRY(dd) |
62 | __field(u32, ctxt) | |
63 | __field(u8, slow_path) | |
64 | __field(u8, dma_rtail) | |
65 | ), | |
66 | TP_fast_assign(DD_DEV_ASSIGN(dd); | |
d295dbeb | 67 | __entry->ctxt = rcd->ctxt; |
01c7fc50 | 68 | __entry->slow_path = hfi1_is_slowpath(rcd); |
2fb3b5ae | 69 | __entry->dma_rtail = get_dma_rtail_setting(rcd); |
462b6b21 SS |
70 | ), |
71 | TP_printk("[%s] ctxt %d SlowPath: %d DmaRtail: %d", | |
72 | __get_str(dev), | |
73 | __entry->ctxt, | |
74 | __entry->slow_path, | |
75 | __entry->dma_rtail | |
76 | ) | |
77 | ); | |
78 | ||
462b6b21 SS |
79 | TRACE_EVENT(hfi1_mmu_invalidate, |
80 | TP_PROTO(unsigned int ctxt, u16 subctxt, const char *type, | |
81 | unsigned long start, unsigned long end), | |
82 | TP_ARGS(ctxt, subctxt, type, start, end), | |
83 | TP_STRUCT__entry( | |
84 | __field(unsigned int, ctxt) | |
85 | __field(u16, subctxt) | |
86 | __string(type, type) | |
87 | __field(unsigned long, start) | |
88 | __field(unsigned long, end) | |
89 | ), | |
90 | TP_fast_assign( | |
91 | __entry->ctxt = ctxt; | |
92 | __entry->subctxt = subctxt; | |
2c92ca84 | 93 | __assign_str(type); |
462b6b21 SS |
94 | __entry->start = start; |
95 | __entry->end = end; | |
96 | ), | |
97 | TP_printk("[%3u:%02u] MMU Invalidate (%s) 0x%lx - 0x%lx", | |
98 | __entry->ctxt, | |
99 | __entry->subctxt, | |
100 | __get_str(type), | |
101 | __entry->start, | |
102 | __entry->end | |
103 | ) | |
104 | ); | |
105 | ||
462b6b21 SS |
106 | #endif /* __HFI1_TRACE_RX_H */ |
107 | ||
108 | #undef TRACE_INCLUDE_PATH | |
109 | #undef TRACE_INCLUDE_FILE | |
110 | #define TRACE_INCLUDE_PATH . | |
111 | #define TRACE_INCLUDE_FILE trace_rx | |
112 | #include <trace/define_trace.h> |