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> 114