brintos

brintos / linux-shallow public Read only

0
0
Text · 1.9 KiB · 15cb0bb Raw
83 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * Copyright(c) 2021        Intel Corporation4 */5 6#if !defined(CONFIG_IWLWIFI_DEVICE_TRACING)7 8#define trace_iwlmei_sap_data(...)9 10#else11 12#if !defined(__IWLWIFI_DEVICE_TRACE_IWLWIFI_SAP_DATA) || defined(TRACE_HEADER_MULTI_READ)13 14#ifndef __IWLWIFI_DEVICE_TRACE_IWLWIFI_SAP_DATA15enum 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_t23iwlmei_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#endif40 41#define __IWLWIFI_DEVICE_TRACE_IWLWIFI_SAP_DATA42 43#include <linux/tracepoint.h>44#include <linux/skbuff.h>45#include "sap.h"46 47#undef TRACE_SYSTEM48#define TRACE_SYSTEM iwlmei_sap_data49 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 case71 * !defined(CONFIG_IWLWIFI_DEVICE_TRACING)72 */73 74#endif /* __IWLWIFI_DEVICE_TRACE_IWLWIFI_SAP_DATA */75 76#undef TRACE_INCLUDE_PATH77#define TRACE_INCLUDE_PATH .78#undef TRACE_INCLUDE_FILE79#define TRACE_INCLUDE_FILE trace-data80#include <trace/define_trace.h>81 82#endif /* CONFIG_IWLWIFI_DEVICE_TRACING */83