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

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

#include <linux/delay.h>

#include "mac.h"

#include <net/mac80211.h>
#include "core.h"
#include "hif.h"
#include "debug.h"
#include "wmi.h"
#include "wow.h"
#include "dp_rx.h"

static const struct wiphy_wowlan_support ath11k_wowlan_support =;

int ath11k_wow_enable(struct ath11k_base *ab)
{}

int ath11k_wow_wakeup(struct ath11k_base *ab)
{}

static int ath11k_wow_vif_cleanup(struct ath11k_vif *arvif)
{}

static int ath11k_wow_cleanup(struct ath11k *ar)
{}

/* Convert a 802.3 format to a 802.11 format.
 *         +------------+-----------+--------+----------------+
 * 802.3:  |dest mac(6B)|src mac(6B)|type(2B)|     body...    |
 *         +------------+-----------+--------+----------------+
 *                |__         |_______    |____________  |________
 *                   |                |                |          |
 *         +--+------------+----+-----------+---------------+-----------+
 * 802.11: |4B|dest mac(6B)| 6B |src mac(6B)|  8B  |type(2B)|  body...  |
 *         +--+------------+----+-----------+---------------+-----------+
 */
static void ath11k_wow_convert_8023_to_80211(struct cfg80211_pkt_pattern *new,
					     const struct cfg80211_pkt_pattern *old)
{}

static int ath11k_wmi_pno_check_and_convert(struct ath11k *ar, u32 vdev_id,
					    struct cfg80211_sched_scan_request *nd_config,
					    struct wmi_pno_scan_req *pno)
{}

static int ath11k_vif_wow_set_wakeups(struct ath11k_vif *arvif,
				      struct cfg80211_wowlan *wowlan)
{}

static int ath11k_wow_set_wakeups(struct ath11k *ar,
				  struct cfg80211_wowlan *wowlan)
{}

static int ath11k_vif_wow_clean_nlo(struct ath11k_vif *arvif)
{}

static int ath11k_wow_nlo_cleanup(struct ath11k *ar)
{}

static int ath11k_wow_set_hw_filter(struct ath11k *ar)
{}

static int ath11k_wow_clear_hw_filter(struct ath11k *ar)
{}

static int ath11k_wow_arp_ns_offload(struct ath11k *ar, bool enable)
{}

static int ath11k_gtk_rekey_offload(struct ath11k *ar, bool enable)
{}

static int ath11k_wow_protocol_offload(struct ath11k *ar, bool enable)
{}

static int ath11k_wow_set_keepalive(struct ath11k *ar,
				    enum wmi_sta_keepalive_method method,
				    u32 interval)
{}

int ath11k_wow_op_suspend(struct ieee80211_hw *hw,
			  struct cfg80211_wowlan *wowlan)
{}

void ath11k_wow_op_set_wakeup(struct ieee80211_hw *hw, bool enabled)
{}

int ath11k_wow_op_resume(struct ieee80211_hw *hw)
{}

int ath11k_wow_init(struct ath11k *ar)
{}