Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / arch / powerpc / platforms / powernv / vas-trace.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2
3 #undef TRACE_SYSTEM
4 #define TRACE_SYSTEM    vas
5
6 #if !defined(_VAS_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
7
8 #define _VAS_TRACE_H
9 #include <linux/tracepoint.h>
10 #include <linux/sched.h>
11 #include <asm/vas.h>
12
13 TRACE_EVENT(    vas_rx_win_open,
14
15                 TP_PROTO(struct task_struct *tsk,
16                          int vasid,
17                          int cop,
18                          struct vas_rx_win_attr *rxattr),
19
20                 TP_ARGS(tsk, vasid, cop, rxattr),
21
22                 TP_STRUCT__entry(
23                         __field(struct task_struct *, tsk)
24                         __field(int, pid)
25                         __field(int, cop)
26                         __field(int, vasid)
27                         __field(struct vas_rx_win_attr *, rxattr)
28                         __field(int, lnotify_lpid)
29                         __field(int, lnotify_pid)
30                         __field(int, lnotify_tid)
31                 ),
32
33                 TP_fast_assign(
34                         __entry->pid = tsk->pid;
35                         __entry->vasid = vasid;
36                         __entry->cop = cop;
37                         __entry->lnotify_lpid = rxattr->lnotify_lpid;
38                         __entry->lnotify_pid = rxattr->lnotify_pid;
39                         __entry->lnotify_tid = rxattr->lnotify_tid;
40                 ),
41
42                 TP_printk("pid=%d, vasid=%d, cop=%d, lpid=%d, pid=%d, tid=%d",
43                         __entry->pid, __entry->vasid, __entry->cop,
44                         __entry->lnotify_lpid, __entry->lnotify_pid,
45                         __entry->lnotify_tid)
46 );
47
48 TRACE_EVENT(    vas_tx_win_open,
49
50                 TP_PROTO(struct task_struct *tsk,
51                          int vasid,
52                          int cop,
53                          struct vas_tx_win_attr *txattr),
54
55                 TP_ARGS(tsk, vasid, cop, txattr),
56
57                 TP_STRUCT__entry(
58                         __field(struct task_struct *, tsk)
59                         __field(int, pid)
60                         __field(int, cop)
61                         __field(int, vasid)
62                         __field(struct vas_tx_win_attr *, txattr)
63                         __field(int, lpid)
64                         __field(int, pidr)
65                 ),
66
67                 TP_fast_assign(
68                         __entry->pid = tsk->pid;
69                         __entry->vasid = vasid;
70                         __entry->cop = cop;
71                         __entry->lpid = txattr->lpid;
72                         __entry->pidr = txattr->pidr;
73                 ),
74
75                 TP_printk("pid=%d, vasid=%d, cop=%d, lpid=%d, pidr=%d",
76                         __entry->pid, __entry->vasid, __entry->cop,
77                         __entry->lpid, __entry->pidr)
78 );
79
80 TRACE_EVENT(    vas_paste_crb,
81
82                 TP_PROTO(struct task_struct *tsk,
83                         struct vas_window *win),
84
85                 TP_ARGS(tsk, win),
86
87                 TP_STRUCT__entry(
88                         __field(struct task_struct *, tsk)
89                         __field(struct vas_window *, win)
90                         __field(int, pid)
91                         __field(int, vasid)
92                         __field(int, winid)
93                         __field(unsigned long, paste_kaddr)
94                 ),
95
96                 TP_fast_assign(
97                         __entry->pid = tsk->pid;
98                         __entry->vasid = win->vinst->vas_id;
99                         __entry->winid = win->winid;
100                         __entry->paste_kaddr = (unsigned long)win->paste_kaddr
101                 ),
102
103                 TP_printk("pid=%d, vasid=%d, winid=%d, paste_kaddr=0x%016lx\n",
104                         __entry->pid, __entry->vasid, __entry->winid,
105                         __entry->paste_kaddr)
106 );
107
108 #endif /* _VAS_TRACE_H */
109
110 #undef TRACE_INCLUDE_PATH
111 #define TRACE_INCLUDE_PATH ../../arch/powerpc/platforms/powernv
112 #define TRACE_INCLUDE_FILE vas-trace
113 #include <trace/define_trace.h>