M7350/kernel/drivers/platform/msm/mhi/mhi_trace.h
2024-09-09 08:57:42 +00:00

143 lines
2.9 KiB
C

/* Copyright (c) 2014, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#undef TRACE_SYSTEM
#define TRACE_SYSTEM mhi
#define TRACE_INCLUDE_FILE mhi_trace
#if !defined(_TRACE_SCHED_H) || defined(TRACE_HEADER_MULTI_READ)
#define _MHI_TRACE_H_
#include <linux/tracepoint.h>
#include "mhi.h"
DECLARE_EVENT_CLASS(mhi_handler_template,
TP_PROTO(int state),
TP_ARGS(state),
TP_STRUCT__entry(
__field(int, state)
),
TP_fast_assign(
__entry->state = state;
),
TP_printk("State is %d", __entry->state)
)
DEFINE_EVENT(mhi_handler_template, mhi_state,
TP_PROTO(int state),
TP_ARGS(state)
);
DECLARE_EVENT_CLASS(mhi_tre_template,
TP_PROTO(union mhi_xfer_pkt *tre, int chan, int dir),
TP_ARGS(tre, chan, dir),
TP_STRUCT__entry(
__field(void *, tre_addr)
__field(unsigned long long, buf_ptr)
__field(unsigned int, buf_len)
__field(int, chan)
__field(int, dir)
),
TP_fast_assign(
__entry->tre_addr = tre;
__entry->buf_ptr = tre->data_tx_pkt.buffer_ptr;
__entry->buf_len = tre->data_tx_pkt.buf_len;
__entry->chan = chan;
__entry->dir = dir;
),
TP_printk("CHAN: %d TRE: 0x%p BUF: 0x%llx LEN: 0x%x DIR:%s",
__entry->chan, __entry->tre_addr,
__entry->buf_ptr, __entry->buf_len,
__entry->dir ? "IN" : "OUT")
)
DEFINE_EVENT(mhi_tre_template, mhi_tre,
TP_PROTO(union mhi_xfer_pkt *tre, int chan, int dir),
TP_ARGS(tre, chan, dir)
);
DECLARE_EVENT_CLASS(mhi_ev_template,
TP_PROTO(union mhi_event_pkt *ev),
TP_ARGS(ev),
TP_STRUCT__entry(
__field(void *, ev_addr)
__field(unsigned long long, tre_addr)
__field(int, tre_len)
__field(int, chan)
),
TP_fast_assign(
__entry->ev_addr = ev;
__entry->tre_addr = ev->xfer_event_pkt.xfer_ptr;
__entry->tre_len = MHI_EV_READ_LEN(EV_LEN, ev);
__entry->chan = MHI_EV_READ_CHID(EV_CHID, ev);
),
TP_printk("CHAN: %d EVENT 0x%p TRE_p: 0x%llx LEN: 0x%x",
__entry->chan, __entry->ev_addr,
__entry->tre_addr, __entry->tre_len)
)
DEFINE_EVENT(mhi_ev_template, mhi_ev,
TP_PROTO(union mhi_event_pkt *mhi_ev),
TP_ARGS(mhi_ev)
);
DECLARE_EVENT_CLASS(mhi_msi_template,
TP_PROTO(int msi),
TP_ARGS(msi),
TP_STRUCT__entry(
__field(int, msi)
),
TP_fast_assign(
__entry->msi = msi;
),
TP_printk("MSI received %d", __entry->msi)
)
DEFINE_EVENT(mhi_msi_template, mhi_msi,
TP_PROTO(int msi),
TP_ARGS(msi)
);
#endif /* _MHI_TRACE_H_ */
/* This part must be outside protection */
#undef TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_PATH .
#include <trace/define_trace.h>