/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright(c) 2021 Intel Corporation */ #if !defined(CONFIG_IWLWIFI_DEVICE_TRACING) #define trace_iwlmei_sap_cmd(...) #define trace_iwlmei_me_msg(...) #else #if !defined(__IWLWIFI_DEVICE_TRACE_IWLWIFI_SAP_CMD) || defined(TRACE_HEADER_MULTI_READ) #define __IWLWIFI_DEVICE_TRACE_IWLWIFI_SAP_CMD #include <linux/tracepoint.h> #undef TRACE_SYSTEM #define TRACE_SYSTEM iwlmei_sap_cmd #include "mei/sap.h" TRACE_EVENT(iwlmei_sap_cmd, TP_PROTO(const struct iwl_sap_hdr *sap_cmd, bool tx), TP_ARGS(sap_cmd, tx), TP_STRUCT__entry( __dynamic_array(u8, cmd, le16_to_cpu(sap_cmd->len) + sizeof(*sap_cmd)) __field(u8, tx) __field(u16, type) __field(u16, len) __field(u32, seq) ), TP_fast_assign( memcpy(__get_dynamic_array(cmd), sap_cmd, le16_to_cpu(sap_cmd->len) + sizeof(*sap_cmd)); __entry->tx = tx; __entry->type = le16_to_cpu(sap_cmd->type); __entry->len = le16_to_cpu(sap_cmd->len); __entry->seq = le32_to_cpu(sap_cmd->seq_num); ), TP_printk("sap_cmd %s: type %d len %d seq %d", __entry->tx ? "Tx" : "Rx", __entry->type, __entry->len, __entry->seq) ); TRACE_EVENT(iwlmei_me_msg, TP_PROTO(const struct iwl_sap_me_msg_hdr *hdr, bool tx), TP_ARGS(hdr, tx), TP_STRUCT__entry( __field(u8, type) __field(u8, tx) __field(u32, seq_num) ), TP_fast_assign( __entry->type = le32_to_cpu(hdr->type); __entry->seq_num = le32_to_cpu(hdr->seq_num); __entry->tx = tx; ), TP_printk("ME message: %s: type %d seq %d", __entry->tx ? "Tx" : "Rx", __entry->type, __entry->seq_num) ); /* * If you add something here, add a stub in case * !defined(CONFIG_IWLWIFI_DEVICE_TRACING) */ #endif /* __IWLWIFI_DEVICE_TRACE_IWLWIFI_SAP_CMD */ #undef TRACE_INCLUDE_PATH #define TRACE_INCLUDE_PATH . #undef TRACE_INCLUDE_FILE #define TRACE_INCLUDE_FILE trace #include <trace/define_trace.h> #endif /* CONFIG_IWLWIFI_DEVICE_TRACING */