trace-data.h (1938B)
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Copyright(c) 2021 Intel Corporation 4 */ 5 6#if !defined(CONFIG_IWLWIFI_DEVICE_TRACING) 7 8#define trace_iwlmei_sap_data(...) 9 10#else 11 12#if !defined(__IWLWIFI_DEVICE_TRACE_IWLWIFI_SAP_DATA) || defined(TRACE_HEADER_MULTI_READ) 13 14#ifndef __IWLWIFI_DEVICE_TRACE_IWLWIFI_SAP_DATA 15enum iwl_sap_data_trace_type { 16 IWL_SAP_RX_DATA_TO_AIR, 17 IWL_SAP_TX_DATA_FROM_AIR, 18 IWL_SAP_RX_DATA_DROPPED_FROM_AIR, 19 IWL_SAP_TX_DHCP, 20}; 21 22static inline size_t 23iwlmei_sap_data_offset(enum iwl_sap_data_trace_type trace_type) 24{ 25 switch (trace_type) { 26 case IWL_SAP_RX_DATA_TO_AIR: 27 return 0; 28 case IWL_SAP_TX_DATA_FROM_AIR: 29 case IWL_SAP_RX_DATA_DROPPED_FROM_AIR: 30 return sizeof(struct iwl_sap_hdr); 31 case IWL_SAP_TX_DHCP: 32 return sizeof(struct iwl_sap_cb_data); 33 default: 34 WARN_ON_ONCE(1); 35 } 36 37 return 0; 38} 39#endif 40 41#define __IWLWIFI_DEVICE_TRACE_IWLWIFI_SAP_DATA 42 43#include <linux/tracepoint.h> 44#include <linux/skbuff.h> 45#include "sap.h" 46 47#undef TRACE_SYSTEM 48#define TRACE_SYSTEM iwlmei_sap_data 49 50TRACE_EVENT(iwlmei_sap_data, 51 TP_PROTO(const struct sk_buff *skb, 52 enum iwl_sap_data_trace_type trace_type), 53 TP_ARGS(skb, trace_type), 54 TP_STRUCT__entry( 55 __dynamic_array(u8, data, 56 skb->len - iwlmei_sap_data_offset(trace_type)) 57 __field(u32, trace_type) 58 ), 59 TP_fast_assign( 60 size_t offset = iwlmei_sap_data_offset(trace_type); 61 __entry->trace_type = trace_type; 62 skb_copy_bits(skb, offset, __get_dynamic_array(data), 63 skb->len - offset); 64 ), 65 TP_printk("sap_data:trace_type %d len %d", 66 __entry->trace_type, __get_dynamic_array_len(data)) 67); 68 69/* 70 * If you add something here, add a stub in case 71 * !defined(CONFIG_IWLWIFI_DEVICE_TRACING) 72 */ 73 74#endif /* __IWLWIFI_DEVICE_TRACE_IWLWIFI_SAP_DATA */ 75 76#undef TRACE_INCLUDE_PATH 77#define TRACE_INCLUDE_PATH . 78#undef TRACE_INCLUDE_FILE 79#define TRACE_INCLUDE_FILE trace-data 80#include <trace/define_trace.h> 81 82#endif /* CONFIG_IWLWIFI_DEVICE_TRACING */