162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright(c) 2020 Intel Corporation. All rights reserved. 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Author: Cezary Rojewski <cezary.rojewski@intel.com> 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#undef TRACE_SYSTEM 962306a36Sopenharmony_ci#define TRACE_SYSTEM intel_catpt 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#if !defined(__SND_SOC_INTEL_CATPT_TRACE_H) || defined(TRACE_HEADER_MULTI_READ) 1262306a36Sopenharmony_ci#define __SND_SOC_INTEL_CATPT_TRACE_H 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci#include <linux/types.h> 1562306a36Sopenharmony_ci#include <linux/tracepoint.h> 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciDECLARE_EVENT_CLASS(catpt_ipc_msg, 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci TP_PROTO(u32 header), 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci TP_ARGS(header), 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci TP_STRUCT__entry( 2462306a36Sopenharmony_ci __field(u32, header) 2562306a36Sopenharmony_ci ), 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci TP_fast_assign( 2862306a36Sopenharmony_ci __entry->header = header; 2962306a36Sopenharmony_ci ), 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci TP_printk("0x%08x", __entry->header) 3262306a36Sopenharmony_ci); 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ciDEFINE_EVENT(catpt_ipc_msg, catpt_irq, 3562306a36Sopenharmony_ci TP_PROTO(u32 header), 3662306a36Sopenharmony_ci TP_ARGS(header) 3762306a36Sopenharmony_ci); 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ciDEFINE_EVENT(catpt_ipc_msg, catpt_ipc_request, 4062306a36Sopenharmony_ci TP_PROTO(u32 header), 4162306a36Sopenharmony_ci TP_ARGS(header) 4262306a36Sopenharmony_ci); 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ciDEFINE_EVENT(catpt_ipc_msg, catpt_ipc_reply, 4562306a36Sopenharmony_ci TP_PROTO(u32 header), 4662306a36Sopenharmony_ci TP_ARGS(header) 4762306a36Sopenharmony_ci); 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciDEFINE_EVENT(catpt_ipc_msg, catpt_ipc_notify, 5062306a36Sopenharmony_ci TP_PROTO(u32 header), 5162306a36Sopenharmony_ci TP_ARGS(header) 5262306a36Sopenharmony_ci); 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ciTRACE_EVENT_CONDITION(catpt_ipc_payload, 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci TP_PROTO(const u8 *data, size_t size), 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci TP_ARGS(data, size), 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci TP_CONDITION(data && size), 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci TP_STRUCT__entry( 6362306a36Sopenharmony_ci __dynamic_array(u8, buf, size) 6462306a36Sopenharmony_ci ), 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci TP_fast_assign( 6762306a36Sopenharmony_ci memcpy(__get_dynamic_array(buf), data, size); 6862306a36Sopenharmony_ci ), 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci TP_printk("%u byte(s)%s", 7162306a36Sopenharmony_ci __get_dynamic_array_len(buf), 7262306a36Sopenharmony_ci __print_hex_dump("", DUMP_PREFIX_NONE, 16, 4, 7362306a36Sopenharmony_ci __get_dynamic_array(buf), 7462306a36Sopenharmony_ci __get_dynamic_array_len(buf), false)) 7562306a36Sopenharmony_ci); 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci#endif /* __SND_SOC_INTEL_CATPT_TRACE_H */ 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci/* This part must be outside protection */ 8062306a36Sopenharmony_ci#undef TRACE_INCLUDE_PATH 8162306a36Sopenharmony_ci#define TRACE_INCLUDE_PATH . 8262306a36Sopenharmony_ci#define TRACE_INCLUDE_FILE trace 8362306a36Sopenharmony_ci#include <trace/define_trace.h> 84