1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Copyright(c) 2020 Intel Corporation 4 * 5 * Author: Cezary Rojewski <cezary.rojewski@intel.com> 6 */ 7 8 #undef TRACE_SYSTEM 9 #define TRACE_SYSTEM intel_catpt 10 11 #if !defined(__SND_SOC_INTEL_CATPT_TRACE_H) || defined(TRACE_HEADER_MULTI_READ) 12 #define __SND_SOC_INTEL_CATPT_TRACE_H 13 14 #include <linux/types.h> 15 #include <linux/tracepoint.h> 16 17 DECLARE_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 34 DEFINE_EVENT(catpt_ipc_msg, catpt_irq, 35 TP_PROTO(u32 header), 36 TP_ARGS(header) 37 ); 38 39 DEFINE_EVENT(catpt_ipc_msg, catpt_ipc_request, 40 TP_PROTO(u32 header), 41 TP_ARGS(header) 42 ); 43 44 DEFINE_EVENT(catpt_ipc_msg, catpt_ipc_reply, 45 TP_PROTO(u32 header), 46 TP_ARGS(header) 47 ); 48 49 DEFINE_EVENT(catpt_ipc_msg, catpt_ipc_notify, 50 TP_PROTO(u32 header), 51 TP_ARGS(header) 52 ); 53 54 TRACE_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_PATH 81 #define TRACE_INCLUDE_PATH . 82 #define TRACE_INCLUDE_FILE trace 83 #include <trace/define_trace.h> 84