1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun #if !defined(_TRACE_RPMH_H) || defined(TRACE_HEADER_MULTI_READ) 7*4882a593Smuzhiyun #define _TRACE_RPMH_H 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #undef TRACE_SYSTEM 10*4882a593Smuzhiyun #define TRACE_SYSTEM rpmh 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #include <linux/tracepoint.h> 13*4882a593Smuzhiyun #include "rpmh-internal.h" 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun TRACE_EVENT(rpmh_tx_done, 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun TP_PROTO(struct rsc_drv *d, int m, const struct tcs_request *r, int e), 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun TP_ARGS(d, m, r, e), 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun TP_STRUCT__entry( 22*4882a593Smuzhiyun __string(name, d->name) 23*4882a593Smuzhiyun __field(int, m) 24*4882a593Smuzhiyun __field(u32, addr) 25*4882a593Smuzhiyun __field(u32, data) 26*4882a593Smuzhiyun __field(int, err) 27*4882a593Smuzhiyun ), 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun TP_fast_assign( 30*4882a593Smuzhiyun __assign_str(name, d->name); 31*4882a593Smuzhiyun __entry->m = m; 32*4882a593Smuzhiyun __entry->addr = r->cmds[0].addr; 33*4882a593Smuzhiyun __entry->data = r->cmds[0].data; 34*4882a593Smuzhiyun __entry->err = e; 35*4882a593Smuzhiyun ), 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun TP_printk("%s: ack: tcs-m: %d addr: %#x data: %#x errno: %d", 38*4882a593Smuzhiyun __get_str(name), __entry->m, __entry->addr, __entry->data, 39*4882a593Smuzhiyun __entry->err) 40*4882a593Smuzhiyun ); 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun TRACE_EVENT(rpmh_send_msg, 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun TP_PROTO(struct rsc_drv *d, int m, int n, u32 h, 45*4882a593Smuzhiyun const struct tcs_cmd *c), 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun TP_ARGS(d, m, n, h, c), 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun TP_STRUCT__entry( 50*4882a593Smuzhiyun __string(name, d->name) 51*4882a593Smuzhiyun __field(int, m) 52*4882a593Smuzhiyun __field(int, n) 53*4882a593Smuzhiyun __field(u32, hdr) 54*4882a593Smuzhiyun __field(u32, addr) 55*4882a593Smuzhiyun __field(u32, data) 56*4882a593Smuzhiyun __field(bool, wait) 57*4882a593Smuzhiyun ), 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun TP_fast_assign( 60*4882a593Smuzhiyun __assign_str(name, d->name); 61*4882a593Smuzhiyun __entry->m = m; 62*4882a593Smuzhiyun __entry->n = n; 63*4882a593Smuzhiyun __entry->hdr = h; 64*4882a593Smuzhiyun __entry->addr = c->addr; 65*4882a593Smuzhiyun __entry->data = c->data; 66*4882a593Smuzhiyun __entry->wait = c->wait; 67*4882a593Smuzhiyun ), 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun TP_printk("%s: send-msg: tcs(m): %d cmd(n): %d msgid: %#x addr: %#x data: %#x complete: %d", 70*4882a593Smuzhiyun __get_str(name), __entry->m, __entry->n, __entry->hdr, 71*4882a593Smuzhiyun __entry->addr, __entry->data, __entry->wait) 72*4882a593Smuzhiyun ); 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun #endif /* _TRACE_RPMH_H */ 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun #undef TRACE_INCLUDE_PATH 77*4882a593Smuzhiyun #define TRACE_INCLUDE_PATH . 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun #undef TRACE_INCLUDE_FILE 80*4882a593Smuzhiyun #define TRACE_INCLUDE_FILE trace-rpmh 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun #include <trace/define_trace.h> 83