18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0+ */ 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ci#undef TRACE_SYSTEM 48c2ecf20Sopenharmony_ci#define TRACE_SYSTEM vas 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#if !defined(_VAS_TRACE_H) || defined(TRACE_HEADER_MULTI_READ) 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#define _VAS_TRACE_H 98c2ecf20Sopenharmony_ci#include <linux/tracepoint.h> 108c2ecf20Sopenharmony_ci#include <linux/sched.h> 118c2ecf20Sopenharmony_ci#include <asm/vas.h> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ciTRACE_EVENT( vas_rx_win_open, 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci TP_PROTO(struct task_struct *tsk, 168c2ecf20Sopenharmony_ci int vasid, 178c2ecf20Sopenharmony_ci int cop, 188c2ecf20Sopenharmony_ci struct vas_rx_win_attr *rxattr), 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci TP_ARGS(tsk, vasid, cop, rxattr), 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci TP_STRUCT__entry( 238c2ecf20Sopenharmony_ci __field(struct task_struct *, tsk) 248c2ecf20Sopenharmony_ci __field(int, pid) 258c2ecf20Sopenharmony_ci __field(int, cop) 268c2ecf20Sopenharmony_ci __field(int, vasid) 278c2ecf20Sopenharmony_ci __field(struct vas_rx_win_attr *, rxattr) 288c2ecf20Sopenharmony_ci __field(int, lnotify_lpid) 298c2ecf20Sopenharmony_ci __field(int, lnotify_pid) 308c2ecf20Sopenharmony_ci __field(int, lnotify_tid) 318c2ecf20Sopenharmony_ci ), 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci TP_fast_assign( 348c2ecf20Sopenharmony_ci __entry->pid = tsk->pid; 358c2ecf20Sopenharmony_ci __entry->vasid = vasid; 368c2ecf20Sopenharmony_ci __entry->cop = cop; 378c2ecf20Sopenharmony_ci __entry->lnotify_lpid = rxattr->lnotify_lpid; 388c2ecf20Sopenharmony_ci __entry->lnotify_pid = rxattr->lnotify_pid; 398c2ecf20Sopenharmony_ci __entry->lnotify_tid = rxattr->lnotify_tid; 408c2ecf20Sopenharmony_ci ), 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci TP_printk("pid=%d, vasid=%d, cop=%d, lpid=%d, pid=%d, tid=%d", 438c2ecf20Sopenharmony_ci __entry->pid, __entry->vasid, __entry->cop, 448c2ecf20Sopenharmony_ci __entry->lnotify_lpid, __entry->lnotify_pid, 458c2ecf20Sopenharmony_ci __entry->lnotify_tid) 468c2ecf20Sopenharmony_ci); 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ciTRACE_EVENT( vas_tx_win_open, 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci TP_PROTO(struct task_struct *tsk, 518c2ecf20Sopenharmony_ci int vasid, 528c2ecf20Sopenharmony_ci int cop, 538c2ecf20Sopenharmony_ci struct vas_tx_win_attr *txattr), 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci TP_ARGS(tsk, vasid, cop, txattr), 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci TP_STRUCT__entry( 588c2ecf20Sopenharmony_ci __field(struct task_struct *, tsk) 598c2ecf20Sopenharmony_ci __field(int, pid) 608c2ecf20Sopenharmony_ci __field(int, cop) 618c2ecf20Sopenharmony_ci __field(int, vasid) 628c2ecf20Sopenharmony_ci __field(struct vas_tx_win_attr *, txattr) 638c2ecf20Sopenharmony_ci __field(int, lpid) 648c2ecf20Sopenharmony_ci __field(int, pidr) 658c2ecf20Sopenharmony_ci ), 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci TP_fast_assign( 688c2ecf20Sopenharmony_ci __entry->pid = tsk->pid; 698c2ecf20Sopenharmony_ci __entry->vasid = vasid; 708c2ecf20Sopenharmony_ci __entry->cop = cop; 718c2ecf20Sopenharmony_ci __entry->lpid = txattr->lpid; 728c2ecf20Sopenharmony_ci __entry->pidr = txattr->pidr; 738c2ecf20Sopenharmony_ci ), 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci TP_printk("pid=%d, vasid=%d, cop=%d, lpid=%d, pidr=%d", 768c2ecf20Sopenharmony_ci __entry->pid, __entry->vasid, __entry->cop, 778c2ecf20Sopenharmony_ci __entry->lpid, __entry->pidr) 788c2ecf20Sopenharmony_ci); 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ciTRACE_EVENT( vas_paste_crb, 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ci TP_PROTO(struct task_struct *tsk, 838c2ecf20Sopenharmony_ci struct vas_window *win), 848c2ecf20Sopenharmony_ci 858c2ecf20Sopenharmony_ci TP_ARGS(tsk, win), 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci TP_STRUCT__entry( 888c2ecf20Sopenharmony_ci __field(struct task_struct *, tsk) 898c2ecf20Sopenharmony_ci __field(struct vas_window *, win) 908c2ecf20Sopenharmony_ci __field(int, pid) 918c2ecf20Sopenharmony_ci __field(int, vasid) 928c2ecf20Sopenharmony_ci __field(int, winid) 938c2ecf20Sopenharmony_ci __field(unsigned long, paste_kaddr) 948c2ecf20Sopenharmony_ci ), 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci TP_fast_assign( 978c2ecf20Sopenharmony_ci __entry->pid = tsk->pid; 988c2ecf20Sopenharmony_ci __entry->vasid = win->vinst->vas_id; 998c2ecf20Sopenharmony_ci __entry->winid = win->winid; 1008c2ecf20Sopenharmony_ci __entry->paste_kaddr = (unsigned long)win->paste_kaddr 1018c2ecf20Sopenharmony_ci ), 1028c2ecf20Sopenharmony_ci 1038c2ecf20Sopenharmony_ci TP_printk("pid=%d, vasid=%d, winid=%d, paste_kaddr=0x%016lx\n", 1048c2ecf20Sopenharmony_ci __entry->pid, __entry->vasid, __entry->winid, 1058c2ecf20Sopenharmony_ci __entry->paste_kaddr) 1068c2ecf20Sopenharmony_ci); 1078c2ecf20Sopenharmony_ci 1088c2ecf20Sopenharmony_ci#endif /* _VAS_TRACE_H */ 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_ci#undef TRACE_INCLUDE_PATH 1118c2ecf20Sopenharmony_ci#define TRACE_INCLUDE_PATH ../../arch/powerpc/platforms/powernv 1128c2ecf20Sopenharmony_ci#define TRACE_INCLUDE_FILE vas-trace 1138c2ecf20Sopenharmony_ci#include <trace/define_trace.h> 114