Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Copyright(c) 2020 Intel Corporation. All rights reserved.
0004  *
0005  * Author: Cezary Rojewski <cezary.rojewski@intel.com>
0006  */
0007 
0008 #undef TRACE_SYSTEM
0009 #define TRACE_SYSTEM intel_catpt
0010 
0011 #if !defined(__SND_SOC_INTEL_CATPT_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
0012 #define __SND_SOC_INTEL_CATPT_TRACE_H
0013 
0014 #include <linux/types.h>
0015 #include <linux/tracepoint.h>
0016 
0017 DECLARE_EVENT_CLASS(catpt_ipc_msg,
0018 
0019     TP_PROTO(u32 header),
0020 
0021     TP_ARGS(header),
0022 
0023     TP_STRUCT__entry(
0024         __field(u32, header)
0025     ),
0026 
0027     TP_fast_assign(
0028         __entry->header = header;
0029     ),
0030 
0031     TP_printk("0x%08x", __entry->header)
0032 );
0033 
0034 DEFINE_EVENT(catpt_ipc_msg, catpt_irq,
0035     TP_PROTO(u32 header),
0036     TP_ARGS(header)
0037 );
0038 
0039 DEFINE_EVENT(catpt_ipc_msg, catpt_ipc_request,
0040     TP_PROTO(u32 header),
0041     TP_ARGS(header)
0042 );
0043 
0044 DEFINE_EVENT(catpt_ipc_msg, catpt_ipc_reply,
0045     TP_PROTO(u32 header),
0046     TP_ARGS(header)
0047 );
0048 
0049 DEFINE_EVENT(catpt_ipc_msg, catpt_ipc_notify,
0050     TP_PROTO(u32 header),
0051     TP_ARGS(header)
0052 );
0053 
0054 TRACE_EVENT_CONDITION(catpt_ipc_payload,
0055 
0056     TP_PROTO(const u8 *data, size_t size),
0057 
0058     TP_ARGS(data, size),
0059 
0060     TP_CONDITION(data && size),
0061 
0062     TP_STRUCT__entry(
0063         __dynamic_array(u8, buf, size)
0064     ),
0065 
0066     TP_fast_assign(
0067         memcpy(__get_dynamic_array(buf), data, size);
0068     ),
0069 
0070     TP_printk("%u byte(s)%s",
0071           __get_dynamic_array_len(buf),
0072           __print_hex_dump("", DUMP_PREFIX_NONE, 16, 4,
0073                    __get_dynamic_array(buf),
0074                    __get_dynamic_array_len(buf), false))
0075 );
0076 
0077 #endif /* __SND_SOC_INTEL_CATPT_TRACE_H */
0078 
0079 /* This part must be outside protection */
0080 #undef TRACE_INCLUDE_PATH
0081 #define TRACE_INCLUDE_PATH .
0082 #define TRACE_INCLUDE_FILE trace
0083 #include <trace/define_trace.h>