1007bb7d6SSukadev Bhattiprolu /* SPDX-License-Identifier: GPL-2.0+ */ 2007bb7d6SSukadev Bhattiprolu 3007bb7d6SSukadev Bhattiprolu #undef TRACE_SYSTEM 4007bb7d6SSukadev Bhattiprolu #define TRACE_SYSTEM vas 5007bb7d6SSukadev Bhattiprolu 6007bb7d6SSukadev Bhattiprolu #if !defined(_VAS_TRACE_H) || defined(TRACE_HEADER_MULTI_READ) 7007bb7d6SSukadev Bhattiprolu 8007bb7d6SSukadev Bhattiprolu #define _VAS_TRACE_H 9007bb7d6SSukadev Bhattiprolu #include <linux/tracepoint.h> 10007bb7d6SSukadev Bhattiprolu #include <linux/sched.h> 11007bb7d6SSukadev Bhattiprolu #include <asm/vas.h> 12007bb7d6SSukadev Bhattiprolu 13007bb7d6SSukadev Bhattiprolu TRACE_EVENT( vas_rx_win_open, 14007bb7d6SSukadev Bhattiprolu 15007bb7d6SSukadev Bhattiprolu TP_PROTO(struct task_struct *tsk, 16007bb7d6SSukadev Bhattiprolu int vasid, 17007bb7d6SSukadev Bhattiprolu int cop, 18007bb7d6SSukadev Bhattiprolu struct vas_rx_win_attr *rxattr), 19007bb7d6SSukadev Bhattiprolu 20007bb7d6SSukadev Bhattiprolu TP_ARGS(tsk, vasid, cop, rxattr), 21007bb7d6SSukadev Bhattiprolu 22007bb7d6SSukadev Bhattiprolu TP_STRUCT__entry( 23007bb7d6SSukadev Bhattiprolu __field(struct task_struct *, tsk) 24007bb7d6SSukadev Bhattiprolu __field(int, pid) 25007bb7d6SSukadev Bhattiprolu __field(int, cop) 26007bb7d6SSukadev Bhattiprolu __field(int, vasid) 27007bb7d6SSukadev Bhattiprolu __field(struct vas_rx_win_attr *, rxattr) 28007bb7d6SSukadev Bhattiprolu __field(int, lnotify_lpid) 29007bb7d6SSukadev Bhattiprolu __field(int, lnotify_pid) 30007bb7d6SSukadev Bhattiprolu __field(int, lnotify_tid) 31007bb7d6SSukadev Bhattiprolu ), 32007bb7d6SSukadev Bhattiprolu 33007bb7d6SSukadev Bhattiprolu TP_fast_assign( 34007bb7d6SSukadev Bhattiprolu __entry->pid = tsk->pid; 35007bb7d6SSukadev Bhattiprolu __entry->vasid = vasid; 36007bb7d6SSukadev Bhattiprolu __entry->cop = cop; 37007bb7d6SSukadev Bhattiprolu __entry->lnotify_lpid = rxattr->lnotify_lpid; 38007bb7d6SSukadev Bhattiprolu __entry->lnotify_pid = rxattr->lnotify_pid; 39007bb7d6SSukadev Bhattiprolu __entry->lnotify_tid = rxattr->lnotify_tid; 40007bb7d6SSukadev Bhattiprolu ), 41007bb7d6SSukadev Bhattiprolu 42007bb7d6SSukadev Bhattiprolu TP_printk("pid=%d, vasid=%d, cop=%d, lpid=%d, pid=%d, tid=%d", 43007bb7d6SSukadev Bhattiprolu __entry->pid, __entry->vasid, __entry->cop, 44007bb7d6SSukadev Bhattiprolu __entry->lnotify_lpid, __entry->lnotify_pid, 45007bb7d6SSukadev Bhattiprolu __entry->lnotify_tid) 46007bb7d6SSukadev Bhattiprolu ); 47007bb7d6SSukadev Bhattiprolu 48007bb7d6SSukadev Bhattiprolu TRACE_EVENT( vas_tx_win_open, 49007bb7d6SSukadev Bhattiprolu 50007bb7d6SSukadev Bhattiprolu TP_PROTO(struct task_struct *tsk, 51007bb7d6SSukadev Bhattiprolu int vasid, 52007bb7d6SSukadev Bhattiprolu int cop, 53007bb7d6SSukadev Bhattiprolu struct vas_tx_win_attr *txattr), 54007bb7d6SSukadev Bhattiprolu 55007bb7d6SSukadev Bhattiprolu TP_ARGS(tsk, vasid, cop, txattr), 56007bb7d6SSukadev Bhattiprolu 57007bb7d6SSukadev Bhattiprolu TP_STRUCT__entry( 58007bb7d6SSukadev Bhattiprolu __field(struct task_struct *, tsk) 59007bb7d6SSukadev Bhattiprolu __field(int, pid) 60007bb7d6SSukadev Bhattiprolu __field(int, cop) 61007bb7d6SSukadev Bhattiprolu __field(int, vasid) 62007bb7d6SSukadev Bhattiprolu __field(struct vas_tx_win_attr *, txattr) 63007bb7d6SSukadev Bhattiprolu __field(int, lpid) 64007bb7d6SSukadev Bhattiprolu __field(int, pidr) 65007bb7d6SSukadev Bhattiprolu ), 66007bb7d6SSukadev Bhattiprolu 67007bb7d6SSukadev Bhattiprolu TP_fast_assign( 68007bb7d6SSukadev Bhattiprolu __entry->pid = tsk->pid; 69007bb7d6SSukadev Bhattiprolu __entry->vasid = vasid; 70007bb7d6SSukadev Bhattiprolu __entry->cop = cop; 71007bb7d6SSukadev Bhattiprolu __entry->lpid = txattr->lpid; 72007bb7d6SSukadev Bhattiprolu __entry->pidr = txattr->pidr; 73007bb7d6SSukadev Bhattiprolu ), 74007bb7d6SSukadev Bhattiprolu 75007bb7d6SSukadev Bhattiprolu TP_printk("pid=%d, vasid=%d, cop=%d, lpid=%d, pidr=%d", 76007bb7d6SSukadev Bhattiprolu __entry->pid, __entry->vasid, __entry->cop, 77007bb7d6SSukadev Bhattiprolu __entry->lpid, __entry->pidr) 78007bb7d6SSukadev Bhattiprolu ); 79007bb7d6SSukadev Bhattiprolu 80007bb7d6SSukadev Bhattiprolu TRACE_EVENT( vas_paste_crb, 81007bb7d6SSukadev Bhattiprolu 82007bb7d6SSukadev Bhattiprolu TP_PROTO(struct task_struct *tsk, 83*7bc6f71bSHaren Myneni struct pnv_vas_window *win), 84007bb7d6SSukadev Bhattiprolu 85007bb7d6SSukadev Bhattiprolu TP_ARGS(tsk, win), 86007bb7d6SSukadev Bhattiprolu 87007bb7d6SSukadev Bhattiprolu TP_STRUCT__entry( 88007bb7d6SSukadev Bhattiprolu __field(struct task_struct *, tsk) 89007bb7d6SSukadev Bhattiprolu __field(struct vas_window *, win) 90007bb7d6SSukadev Bhattiprolu __field(int, pid) 91007bb7d6SSukadev Bhattiprolu __field(int, vasid) 92007bb7d6SSukadev Bhattiprolu __field(int, winid) 93007bb7d6SSukadev Bhattiprolu __field(unsigned long, paste_kaddr) 94007bb7d6SSukadev Bhattiprolu ), 95007bb7d6SSukadev Bhattiprolu 96007bb7d6SSukadev Bhattiprolu TP_fast_assign( 97007bb7d6SSukadev Bhattiprolu __entry->pid = tsk->pid; 98007bb7d6SSukadev Bhattiprolu __entry->vasid = win->vinst->vas_id; 99*7bc6f71bSHaren Myneni __entry->winid = win->vas_win.winid; 100007bb7d6SSukadev Bhattiprolu __entry->paste_kaddr = (unsigned long)win->paste_kaddr 101007bb7d6SSukadev Bhattiprolu ), 102007bb7d6SSukadev Bhattiprolu 103007bb7d6SSukadev Bhattiprolu TP_printk("pid=%d, vasid=%d, winid=%d, paste_kaddr=0x%016lx\n", 104007bb7d6SSukadev Bhattiprolu __entry->pid, __entry->vasid, __entry->winid, 105007bb7d6SSukadev Bhattiprolu __entry->paste_kaddr) 106007bb7d6SSukadev Bhattiprolu ); 107007bb7d6SSukadev Bhattiprolu 108007bb7d6SSukadev Bhattiprolu #endif /* _VAS_TRACE_H */ 109007bb7d6SSukadev Bhattiprolu 110007bb7d6SSukadev Bhattiprolu #undef TRACE_INCLUDE_PATH 111007bb7d6SSukadev Bhattiprolu #define TRACE_INCLUDE_PATH ../../arch/powerpc/platforms/powernv 112007bb7d6SSukadev Bhattiprolu #define TRACE_INCLUDE_FILE vas-trace 113007bb7d6SSukadev Bhattiprolu #include <trace/define_trace.h> 114