linux/drivers/net/wireless/ath/ath11k/testmode.c

// SPDX-License-Identifier: BSD-3-Clause-Clear
/*
 * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
 * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
 */

#include "testmode.h"
#include <net/netlink.h>
#include "debug.h"
#include "wmi.h"
#include "hw.h"
#include "core.h"
#include "testmode_i.h"

#define ATH11K_FTM_SEGHDR_CURRENT_SEQ
#define ATH11K_FTM_SEGHDR_TOTAL_SEGMENTS

static const struct nla_policy ath11k_tm_policy[ATH11K_TM_ATTR_MAX + 1] =;

static struct ath11k *ath11k_tm_get_ar(struct ath11k_base *ab)
{}

/* This function handles unsegmented events. Data in various events are aggregated
 * in application layer, this event is unsegmented from host perspective.
 */
static void ath11k_tm_wmi_event_unsegmented(struct ath11k_base *ab, u32 cmd_id,
					    struct sk_buff *skb)
{}

/* This function handles segmented events. Data of various events received
 * from firmware is aggregated and sent to application layer
 */
static int ath11k_tm_process_event(struct ath11k_base *ab, u32 cmd_id,
				   const struct wmi_ftm_event_msg *ftm_msg,
				   u16 length)
{}

static void ath11k_tm_wmi_event_segmented(struct ath11k_base *ab, u32 cmd_id,
					  struct sk_buff *skb)
{}

void ath11k_tm_wmi_event(struct ath11k_base *ab, u32 cmd_id, struct sk_buff *skb)
{}

static int ath11k_tm_cmd_get_version(struct ath11k *ar, struct nlattr *tb[])
{}

static int ath11k_tm_cmd_testmode_start(struct ath11k *ar, struct nlattr *tb[])
{}

static int ath11k_tm_cmd_wmi(struct ath11k *ar, struct nlattr *tb[],
			     struct ieee80211_vif *vif)
{}

static int ath11k_tm_cmd_wmi_ftm(struct ath11k *ar, struct nlattr *tb[])
{}

int ath11k_tm_cmd(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
		  void *data, int len)
{}