linux/drivers/net/wireless/realtek/rtw89/wow.c

// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/* Copyright(c) 2019-2022  Realtek Corporation
 */
#include "cam.h"
#include "core.h"
#include "debug.h"
#include "fw.h"
#include "mac.h"
#include "phy.h"
#include "ps.h"
#include "reg.h"
#include "util.h"
#include "wow.h"

void rtw89_wow_parse_akm(struct rtw89_dev *rtwdev, struct sk_buff *skb)
{}

#define RTW89_CIPHER_INFO_DEF

static const struct rtw89_cipher_info rtw89_cipher_info_defs[] =;

#undef RTW89_CIPHER_INFO_DEF

static const
struct rtw89_cipher_info *rtw89_cipher_alg_recognize(u32 cipher)
{}

static int _pn_to_iv(struct rtw89_dev *rtwdev, struct ieee80211_key_conf *key,
		     u8 *iv, u64 pn, u8 key_idx)
{}

static int rtw89_rx_pn_to_iv(struct rtw89_dev *rtwdev,
			     struct ieee80211_key_conf *key,
			     u8 *iv)
{}

static int rtw89_tx_pn_to_iv(struct rtw89_dev *rtwdev,
			     struct ieee80211_key_conf *key,
			     u8 *iv)
{}

static int _iv_to_pn(struct rtw89_dev *rtwdev, u8 *iv, u64 *pn, u8 *key_id,
		     struct ieee80211_key_conf *key)
{}

static int rtw89_rx_iv_to_pn(struct rtw89_dev *rtwdev,
			     struct ieee80211_key_conf *key,
			     u8 *iv)
{}

static int rtw89_tx_iv_to_pn(struct rtw89_dev *rtwdev,
			     struct ieee80211_key_conf *key,
			     u8 *iv)
{}

static int rtw89_rx_pn_get_pmf(struct rtw89_dev *rtwdev,
			       struct ieee80211_key_conf *key,
			       struct rtw89_wow_gtk_info *gtk_info)
{}

static int rtw89_rx_pn_set_pmf(struct rtw89_dev *rtwdev,
			       struct ieee80211_key_conf *key,
			       u64 pn)
{}

static void rtw89_wow_get_key_info_iter(struct ieee80211_hw *hw,
					struct ieee80211_vif *vif,
					struct ieee80211_sta *sta,
					struct ieee80211_key_conf *key,
					void *data)
{}

static void rtw89_wow_set_key_info_iter(struct ieee80211_hw *hw,
					struct ieee80211_vif *vif,
					struct ieee80211_sta *sta,
					struct ieee80211_key_conf *key,
					void *data)
{}

static void rtw89_wow_key_clear(struct rtw89_dev *rtwdev)
{}

static void rtw89_wow_construct_key_info(struct rtw89_dev *rtwdev)
{}

static void rtw89_wow_debug_aoac_rpt(struct rtw89_dev *rtwdev)
{}

static int rtw89_wow_get_aoac_rpt_reg(struct rtw89_dev *rtwdev)
{}

static int rtw89_wow_get_aoac_rpt(struct rtw89_dev *rtwdev, bool rx_ready)
{}

static struct ieee80211_key_conf *rtw89_wow_gtk_rekey(struct rtw89_dev *rtwdev,
						      u32 cipher, u8 keyidx, u8 *gtk)
{}

static void rtw89_wow_update_key_info(struct rtw89_dev *rtwdev, bool rx_ready)
{}

static void rtw89_wow_leave_deep_ps(struct rtw89_dev *rtwdev)
{}

static void rtw89_wow_enter_deep_ps(struct rtw89_dev *rtwdev)
{}

static void rtw89_wow_enter_ps(struct rtw89_dev *rtwdev)
{}

static void rtw89_wow_leave_ps(struct rtw89_dev *rtwdev, bool enable_wow)
{}

static int rtw89_wow_config_mac(struct rtw89_dev *rtwdev, bool enable_wow)
{}

static void rtw89_wow_set_rx_filter(struct rtw89_dev *rtwdev, bool enable)
{}

static void rtw89_wow_show_wakeup_reason(struct rtw89_dev *rtwdev)
{}

static void rtw89_wow_vif_iter(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif)
{}

static u16 __rtw89_cal_crc16(u8 data, u16 crc)
{}

static u16 rtw89_calc_crc(u8 *pdata, int length)
{}

static int rtw89_wow_pattern_get_type(struct rtw89_vif *rtwvif,
				      struct rtw89_wow_cam_info *rtw_pattern,
				      const u8 *pattern, u8 da_mask)
{}

static int rtw89_wow_pattern_generate(struct rtw89_dev *rtwdev,
				      struct rtw89_vif *rtwvif,
				      const struct cfg80211_pkt_pattern *pkt_pattern,
				      struct rtw89_wow_cam_info *rtw_pattern)
{}

static int rtw89_wow_parse_patterns(struct rtw89_dev *rtwdev,
				    struct rtw89_vif *rtwvif,
				    struct cfg80211_wowlan *wowlan)
{}

static void rtw89_wow_pattern_clear_cam(struct rtw89_dev *rtwdev)
{}

static void rtw89_wow_pattern_write(struct rtw89_dev *rtwdev)
{}

static void rtw89_wow_pattern_clear(struct rtw89_dev *rtwdev)
{}

static void rtw89_wow_clear_wakeups(struct rtw89_dev *rtwdev)
{}

static void rtw89_wow_init_pno(struct rtw89_dev *rtwdev,
			       struct cfg80211_sched_scan_request *nd_config)
{}

static int rtw89_wow_set_wakeups(struct rtw89_dev *rtwdev,
				 struct cfg80211_wowlan *wowlan)
{}

static int rtw89_wow_cfg_wake_pno(struct rtw89_dev *rtwdev, bool wow)
{}

static int rtw89_wow_cfg_wake(struct rtw89_dev *rtwdev, bool wow)
{}

static int rtw89_wow_check_fw_status(struct rtw89_dev *rtwdev, bool wow_enable)
{}

static int rtw89_wow_swap_fw(struct rtw89_dev *rtwdev, bool wow)
{}

static int rtw89_wow_enable_trx_pre(struct rtw89_dev *rtwdev)
{}

static int rtw89_wow_enable_trx_post(struct rtw89_dev *rtwdev)
{}

static int rtw89_wow_disable_trx_pre(struct rtw89_dev *rtwdev)
{}

static int rtw89_wow_disable_trx_post(struct rtw89_dev *rtwdev)
{}

static void rtw89_fw_release_pno_pkt_list(struct rtw89_dev *rtwdev,
					  struct rtw89_vif *rtwvif)
{}

static int rtw89_pno_scan_update_probe_req(struct rtw89_dev *rtwdev,
					   struct rtw89_vif *rtwvif)
{}

static int rtw89_pno_scan_offload(struct rtw89_dev *rtwdev, bool enable)
{}

static int rtw89_wow_fw_start(struct rtw89_dev *rtwdev)
{}

static int rtw89_wow_fw_stop(struct rtw89_dev *rtwdev)
{}

static int rtw89_wow_enable(struct rtw89_dev *rtwdev)
{}

static int rtw89_wow_disable(struct rtw89_dev *rtwdev)
{}

static void rtw89_wow_restore_ps(struct rtw89_dev *rtwdev)
{}

int rtw89_wow_resume(struct rtw89_dev *rtwdev)
{}

int rtw89_wow_suspend(struct rtw89_dev *rtwdev, struct cfg80211_wowlan *wowlan)
{}