84 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * Copyright(c) 2020 Intel Corporation4 *5 * Author: Cezary Rojewski <cezary.rojewski@intel.com>6 */7 8#undef TRACE_SYSTEM9#define TRACE_SYSTEM intel_catpt10 11#if !defined(__SND_SOC_INTEL_CATPT_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)12#define __SND_SOC_INTEL_CATPT_TRACE_H13 14#include <linux/types.h>15#include <linux/tracepoint.h>16 17DECLARE_EVENT_CLASS(catpt_ipc_msg,18 19 TP_PROTO(u32 header),20 21 TP_ARGS(header),22 23 TP_STRUCT__entry(24 __field(u32, header)25 ),26 27 TP_fast_assign(28 __entry->header = header;29 ),30 31 TP_printk("0x%08x", __entry->header)32);33 34DEFINE_EVENT(catpt_ipc_msg, catpt_irq,35 TP_PROTO(u32 header),36 TP_ARGS(header)37);38 39DEFINE_EVENT(catpt_ipc_msg, catpt_ipc_request,40 TP_PROTO(u32 header),41 TP_ARGS(header)42);43 44DEFINE_EVENT(catpt_ipc_msg, catpt_ipc_reply,45 TP_PROTO(u32 header),46 TP_ARGS(header)47);48 49DEFINE_EVENT(catpt_ipc_msg, catpt_ipc_notify,50 TP_PROTO(u32 header),51 TP_ARGS(header)52);53 54TRACE_EVENT_CONDITION(catpt_ipc_payload,55 56 TP_PROTO(const u8 *data, size_t size),57 58 TP_ARGS(data, size),59 60 TP_CONDITION(data && size),61 62 TP_STRUCT__entry(63 __dynamic_array(u8, buf, size)64 ),65 66 TP_fast_assign(67 memcpy(__get_dynamic_array(buf), data, size);68 ),69 70 TP_printk("%u byte(s)%s",71 __get_dynamic_array_len(buf),72 __print_hex_dump("", DUMP_PREFIX_NONE, 16, 4,73 __get_dynamic_array(buf),74 __get_dynamic_array_len(buf), false))75);76 77#endif /* __SND_SOC_INTEL_CATPT_TRACE_H */78 79/* This part must be outside protection */80#undef TRACE_INCLUDE_PATH81#define TRACE_INCLUDE_PATH .82#define TRACE_INCLUDE_FILE trace83#include <trace/define_trace.h>84