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

// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/* Copyright(c) 2019-2020  Realtek Corporation
 */

#include "cam.h"
#include "chan.h"
#include "debug.h"
#include "efuse.h"
#include "fw.h"
#include "mac.h"
#include "pci.h"
#include "ps.h"
#include "reg.h"
#include "util.h"

static const u32 rtw89_mac_mem_base_addrs_ax[RTW89_MAC_MEM_NUM] =;

static void rtw89_mac_mem_write(struct rtw89_dev *rtwdev, u32 offset,
				u32 val, enum rtw89_mac_mem_sel sel)
{}

static u32 rtw89_mac_mem_read(struct rtw89_dev *rtwdev, u32 offset,
			      enum rtw89_mac_mem_sel sel)
{}

static int rtw89_mac_check_mac_en_ax(struct rtw89_dev *rtwdev, u8 mac_idx,
				     enum rtw89_mac_hwmod_sel sel)
{}

int rtw89_mac_write_lte(struct rtw89_dev *rtwdev, const u32 offset, u32 val)
{}

int rtw89_mac_read_lte(struct rtw89_dev *rtwdev, const u32 offset, u32 *val)
{}

int rtw89_mac_dle_dfi_cfg(struct rtw89_dev *rtwdev, struct rtw89_mac_dle_dfi_ctrl *ctrl)
{}

int rtw89_mac_dle_dfi_quota_cfg(struct rtw89_dev *rtwdev,
				struct rtw89_mac_dle_dfi_quota *quota)
{}

int rtw89_mac_dle_dfi_qempty_cfg(struct rtw89_dev *rtwdev,
				 struct rtw89_mac_dle_dfi_qempty *qempty)
{}

static void dump_err_status_dispatcher_ax(struct rtw89_dev *rtwdev)
{}

static void rtw89_mac_dump_qta_lost_ax(struct rtw89_dev *rtwdev)
{}

void rtw89_mac_dump_l0_to_l1(struct rtw89_dev *rtwdev,
			     enum mac_ax_err_info err)
{}

void rtw89_mac_dump_dmac_err_status(struct rtw89_dev *rtwdev)
{}

static void rtw89_mac_dump_cmac_err_status_ax(struct rtw89_dev *rtwdev,
					      u8 band)
{}

static void rtw89_mac_dump_err_status_ax(struct rtw89_dev *rtwdev,
					 enum mac_ax_err_info err)
{}

static bool rtw89_mac_suppress_log(struct rtw89_dev *rtwdev, u32 err)
{}

u32 rtw89_mac_get_err_status(struct rtw89_dev *rtwdev)
{}
EXPORT_SYMBOL();

int rtw89_mac_set_err_status(struct rtw89_dev *rtwdev, u32 err)
{}
EXPORT_SYMBOL();

static int hfc_reset_param(struct rtw89_dev *rtwdev)
{}

static int hfc_ch_cfg_chk(struct rtw89_dev *rtwdev, u8 ch)
{}

static int hfc_pub_info_chk(struct rtw89_dev *rtwdev)
{}

static int hfc_pub_cfg_chk(struct rtw89_dev *rtwdev)
{}

static int hfc_ch_ctrl(struct rtw89_dev *rtwdev, u8 ch)
{}

static int hfc_upd_ch_info(struct rtw89_dev *rtwdev, u8 ch)
{}

static int hfc_pub_ctrl(struct rtw89_dev *rtwdev)
{}

static void hfc_get_mix_info_ax(struct rtw89_dev *rtwdev)
{}

static int hfc_upd_mix_info(struct rtw89_dev *rtwdev)
{}

static void hfc_h2c_cfg_ax(struct rtw89_dev *rtwdev)
{}

static void hfc_mix_cfg_ax(struct rtw89_dev *rtwdev)
{}

static void hfc_func_en_ax(struct rtw89_dev *rtwdev, bool en, bool h2c_en)
{}

int rtw89_mac_hfc_init(struct rtw89_dev *rtwdev, bool reset, bool en, bool h2c_en)
{}

#define PWR_POLL_CNT
static int pwr_cmd_poll(struct rtw89_dev *rtwdev,
			const struct rtw89_pwr_cfg *cfg)
{}

static int rtw89_mac_sub_pwr_seq(struct rtw89_dev *rtwdev, u8 cv_msk,
				 u8 intf_msk, const struct rtw89_pwr_cfg *cfg)
{}

static int rtw89_mac_pwr_seq(struct rtw89_dev *rtwdev,
			     const struct rtw89_pwr_cfg * const *cfg_seq)
{}

static enum rtw89_rpwm_req_pwr_state
rtw89_mac_get_req_pwr_state(struct rtw89_dev *rtwdev)
{}

static void rtw89_mac_send_rpwm(struct rtw89_dev *rtwdev,
				enum rtw89_rpwm_req_pwr_state req_pwr_state,
				bool notify_wake)
{}

static int rtw89_mac_check_cpwm_state(struct rtw89_dev *rtwdev,
				      enum rtw89_rpwm_req_pwr_state req_pwr_state)
{}

void rtw89_mac_power_mode_change(struct rtw89_dev *rtwdev, bool enter)
{}

void rtw89_mac_notify_wake(struct rtw89_dev *rtwdev)
{}

static int rtw89_mac_power_switch(struct rtw89_dev *rtwdev, bool on)
{}

void rtw89_mac_pwr_off(struct rtw89_dev *rtwdev)
{}

static int cmac_func_en_ax(struct rtw89_dev *rtwdev, u8 mac_idx, bool en)
{}

static int dmac_func_en_ax(struct rtw89_dev *rtwdev)
{}

static int chip_func_en_ax(struct rtw89_dev *rtwdev)
{}

static int sys_init_ax(struct rtw89_dev *rtwdev)
{}

const struct rtw89_mac_size_set rtw89_mac_size =;
EXPORT_SYMBOL();

static const struct rtw89_dle_mem *get_dle_mem_cfg(struct rtw89_dev *rtwdev,
						   enum rtw89_qta_mode mode)
{}

int rtw89_mac_get_dle_rsvd_qt_cfg(struct rtw89_dev *rtwdev,
				  enum rtw89_mac_dle_rsvd_qt_type type,
				  struct rtw89_mac_dle_rsvd_qt_cfg *cfg)
{}

static bool mac_is_txq_empty_ax(struct rtw89_dev *rtwdev)
{}

static inline u32 dle_used_size(const struct rtw89_dle_mem *cfg)
{}

static u32 dle_expected_used_size(struct rtw89_dev *rtwdev,
				  enum rtw89_qta_mode mode)
{}

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

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

static int dle_mix_cfg_ax(struct rtw89_dev *rtwdev, const struct rtw89_dle_mem *cfg)
{}

static int chk_dle_rdy_ax(struct rtw89_dev *rtwdev, bool wde_or_ple)
{}

#define INVALID_QT_WCPU
#define SET_QUOTA_VAL(_min_x, _max_x, _module, _idx)
#define SET_QUOTA

static void wde_quota_cfg_ax(struct rtw89_dev *rtwdev,
			     const struct rtw89_wde_quota *min_cfg,
			     const struct rtw89_wde_quota *max_cfg,
			     u16 ext_wde_min_qt_wcpu)
{}

static void ple_quota_cfg_ax(struct rtw89_dev *rtwdev,
			     const struct rtw89_ple_quota *min_cfg,
			     const struct rtw89_ple_quota *max_cfg)
{}

int rtw89_mac_resize_ple_rx_quota(struct rtw89_dev *rtwdev, bool wow)
{}
#undef SET_QUOTA

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

static void dle_quota_cfg(struct rtw89_dev *rtwdev,
			  const struct rtw89_dle_mem *cfg,
			  u16 ext_wde_min_qt_wcpu)
{}

int rtw89_mac_dle_init(struct rtw89_dev *rtwdev, enum rtw89_qta_mode mode,
		       enum rtw89_qta_mode ext_mode)
{}

static int preload_init_set(struct rtw89_dev *rtwdev, enum rtw89_mac_idx mac_idx,
			    enum rtw89_qta_mode mode)
{}

static bool is_qta_poh(struct rtw89_dev *rtwdev)
{}

int rtw89_mac_preload_init(struct rtw89_dev *rtwdev, enum rtw89_mac_idx mac_idx,
			   enum rtw89_qta_mode mode)
{}

static bool dle_is_txq_empty(struct rtw89_dev *rtwdev)
{}

static void _patch_ss2f_path(struct rtw89_dev *rtwdev)
{}

static int sta_sch_init_ax(struct rtw89_dev *rtwdev)
{}

static int mpdu_proc_init_ax(struct rtw89_dev *rtwdev)
{}

static int sec_eng_init_ax(struct rtw89_dev *rtwdev)
{}

static int dmac_init_ax(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static int addr_cam_init_ax(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static int scheduler_init_ax(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static int rtw89_mac_typ_fltr_opt_ax(struct rtw89_dev *rtwdev,
				     enum rtw89_machdr_frame_type type,
				     enum rtw89_mac_fwd_target fwd_target,
				     u8 mac_idx)
{}

static int rx_fltr_init_ax(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static void _patch_dis_resp_chk(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static int cca_ctrl_init_ax(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static int nav_ctrl_init_ax(struct rtw89_dev *rtwdev)
{}

static int spatial_reuse_init_ax(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static int tmac_init_ax(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static int trxptcl_init_ax(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static void rst_bacam(struct rtw89_dev *rtwdev)
{}

static int rmac_init_ax(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static int cmac_com_init_ax(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

bool rtw89_mac_is_qta_dbcc(struct rtw89_dev *rtwdev, enum rtw89_qta_mode mode)
{}

static int ptcl_init_ax(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static int cmac_dma_init_ax(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static int cmac_init_ax(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static int rtw89_mac_read_phycap(struct rtw89_dev *rtwdev,
				 struct rtw89_mac_c2h_info *c2h_info)
{}

int rtw89_mac_setup_phycap(struct rtw89_dev *rtwdev)
{}

static int rtw89_hw_sch_tx_en_h2c(struct rtw89_dev *rtwdev, u8 band,
				  u16 tx_en_u16, u16 mask_u16)
{}

static int rtw89_set_hw_sch_tx_en(struct rtw89_dev *rtwdev, u8 mac_idx,
				  u16 tx_en, u16 tx_en_mask)
{}

static int rtw89_set_hw_sch_tx_en_v1(struct rtw89_dev *rtwdev, u8 mac_idx,
				     u32 tx_en, u32 tx_en_mask)
{}

int rtw89_mac_stop_sch_tx(struct rtw89_dev *rtwdev, u8 mac_idx,
			  u32 *tx_en, enum rtw89_sch_tx_sel sel)
{}
EXPORT_SYMBOL();

int rtw89_mac_stop_sch_tx_v1(struct rtw89_dev *rtwdev, u8 mac_idx,
			     u32 *tx_en, enum rtw89_sch_tx_sel sel)
{}
EXPORT_SYMBOL();

int rtw89_mac_resume_sch_tx(struct rtw89_dev *rtwdev, u8 mac_idx, u32 tx_en)
{}
EXPORT_SYMBOL();

int rtw89_mac_resume_sch_tx_v1(struct rtw89_dev *rtwdev, u8 mac_idx, u32 tx_en)
{}
EXPORT_SYMBOL();

static int dle_buf_req_ax(struct rtw89_dev *rtwdev, u16 buf_len, bool wd, u16 *pkt_id)
{}

static int set_cpuio_ax(struct rtw89_dev *rtwdev,
			struct rtw89_cpuio_ctrl *ctrl_para, bool wd)
{}

int rtw89_mac_dle_quota_change(struct rtw89_dev *rtwdev, enum rtw89_qta_mode mode,
			       bool band1_en)
{}

static int dle_quota_change_ax(struct rtw89_dev *rtwdev, bool band1_en)
{}

static int band_idle_ck_b(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static int band1_enable_ax(struct rtw89_dev *rtwdev)
{}

static void rtw89_wdrls_imr_enable(struct rtw89_dev *rtwdev)
{}

static void rtw89_wsec_imr_enable(struct rtw89_dev *rtwdev)
{}

static void rtw89_mpdu_trx_imr_enable(struct rtw89_dev *rtwdev)
{}

static void rtw89_sta_sch_imr_enable(struct rtw89_dev *rtwdev)
{}

static void rtw89_txpktctl_imr_enable(struct rtw89_dev *rtwdev)
{}

static void rtw89_wde_imr_enable(struct rtw89_dev *rtwdev)
{}

static void rtw89_ple_imr_enable(struct rtw89_dev *rtwdev)
{}

static void rtw89_pktin_imr_enable(struct rtw89_dev *rtwdev)
{}

static void rtw89_dispatcher_imr_enable(struct rtw89_dev *rtwdev)
{}

static void rtw89_cpuio_imr_enable(struct rtw89_dev *rtwdev)
{}

static void rtw89_bbrpt_imr_enable(struct rtw89_dev *rtwdev)
{}

static void rtw89_scheduler_imr_enable(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static void rtw89_ptcl_imr_enable(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static void rtw89_cdma_imr_enable(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static void rtw89_phy_intf_imr_enable(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static void rtw89_rmac_imr_enable(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static void rtw89_tmac_imr_enable(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static int enable_imr_ax(struct rtw89_dev *rtwdev, u8 mac_idx,
			 enum rtw89_mac_hwmod_sel sel)
{}

static void err_imr_ctrl_ax(struct rtw89_dev *rtwdev, bool en)
{}

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

static int set_host_rpr_ax(struct rtw89_dev *rtwdev)
{}

static int trx_init_ax(struct rtw89_dev *rtwdev)
{}

static int rtw89_mac_feat_init(struct rtw89_dev *rtwdev)
{}

static void rtw89_disable_fw_watchdog(struct rtw89_dev *rtwdev)
{}

static void rtw89_mac_disable_cpu_ax(struct rtw89_dev *rtwdev)
{}

static int rtw89_mac_enable_cpu_ax(struct rtw89_dev *rtwdev, u8 boot_reason,
				   bool dlfw, bool include_bb)
{}

static void rtw89_mac_hci_func_en_ax(struct rtw89_dev *rtwdev)
{}

static void rtw89_mac_dmac_func_pre_en_ax(struct rtw89_dev *rtwdev)
{}

static int rtw89_mac_dmac_pre_init(struct rtw89_dev *rtwdev)
{}

int rtw89_mac_enable_bb_rf(struct rtw89_dev *rtwdev)
{}
EXPORT_SYMBOL();

int rtw89_mac_disable_bb_rf(struct rtw89_dev *rtwdev)
{}
EXPORT_SYMBOL();

int rtw89_mac_partial_init(struct rtw89_dev *rtwdev, bool include_bb)
{}

int rtw89_mac_init(struct rtw89_dev *rtwdev)
{}

static void rtw89_mac_dmac_tbl_init(struct rtw89_dev *rtwdev, u8 macid)
{}

static void rtw89_mac_cmac_tbl_init(struct rtw89_dev *rtwdev, u8 macid)
{}

int rtw89_mac_set_macid_pause(struct rtw89_dev *rtwdev, u8 macid, bool pause)
{}

static const struct rtw89_port_reg rtw89_port_base_ax =;

static void rtw89_mac_check_packet_ctrl(struct rtw89_dev *rtwdev,
					struct rtw89_vif *rtwvif, u8 type)
{}

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

#define BCN_INTERVAL
#define BCN_ERLY_DEF
#define BCN_SETUP_DEF
#define BCN_HOLD_DEF
#define BCN_MASK_DEF
#define TBTT_ERLY_DEF
#define BCN_SET_UNIT
#define BCN_ERLY_SET_DLY

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

static void rtw89_mac_port_cfg_tx_rpt(struct rtw89_dev *rtwdev,
				      struct rtw89_vif *rtwvif, bool en)
{}

static void rtw89_mac_port_cfg_rx_rpt(struct rtw89_dev *rtwdev,
				      struct rtw89_vif *rtwvif, bool en)
{}

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

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

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

void rtw89_mac_port_cfg_rx_sync(struct rtw89_dev *rtwdev,
				struct rtw89_vif *rtwvif, bool en)
{}

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

static void rtw89_mac_port_cfg_tx_sw(struct rtw89_dev *rtwdev,
				     struct rtw89_vif *rtwvif, bool en)
{}

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

void rtw89_mac_enable_beacon_for_ap_vifs(struct rtw89_dev *rtwdev, bool en)
{}

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

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

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

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

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

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

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

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

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

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

static void rtw89_mac_port_cfg_func_en(struct rtw89_dev *rtwdev,
				       struct rtw89_vif *rtwvif, bool enable)
{}

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

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

void rtw89_mac_port_tsf_sync(struct rtw89_dev *rtwdev,
			     struct rtw89_vif *rtwvif,
			     struct rtw89_vif *rtwvif_src,
			     u16 offset_tu)
{}

static void rtw89_mac_port_tsf_sync_rand(struct rtw89_dev *rtwdev,
					 struct rtw89_vif *rtwvif,
					 struct rtw89_vif *rtwvif_src,
					 u8 offset, int *n_offset)
{}

static void rtw89_mac_port_tsf_resync_all(struct rtw89_dev *rtwdev)
{}

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

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

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

int rtw89_mac_port_get_tsf(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
			   u64 *tsf)
{}

static void rtw89_mac_check_he_obss_narrow_bw_ru_iter(struct wiphy *wiphy,
						      struct cfg80211_bss *bss,
						      void *data)
{}

void rtw89_mac_set_he_obss_narrow_bw_ru(struct rtw89_dev *rtwdev,
					struct ieee80211_vif *vif)
{}

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

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

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

static void
rtw89_mac_c2h_macid_pause(struct rtw89_dev *rtwdev, struct sk_buff *c2h, u32 len)
{}

static bool rtw89_is_op_chan(struct rtw89_dev *rtwdev, u8 band, u8 channel)
{}

static void
rtw89_mac_c2h_scanofld_rsp(struct rtw89_dev *rtwdev, struct sk_buff *skb,
			   u32 len)
{}

static void
rtw89_mac_bcn_fltr_rpt(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
		       struct sk_buff *skb)
{}

static void
rtw89_mac_c2h_bcn_fltr_rpt(struct rtw89_dev *rtwdev, struct sk_buff *c2h,
			   u32 len)
{}

static void
rtw89_mac_c2h_rec_ack(struct rtw89_dev *rtwdev, struct sk_buff *c2h, u32 len)
{}

static void
rtw89_mac_c2h_done_ack(struct rtw89_dev *rtwdev, struct sk_buff *skb_c2h, u32 len)
{}

static void
rtw89_mac_c2h_log(struct rtw89_dev *rtwdev, struct sk_buff *c2h, u32 len)
{}

static void
rtw89_mac_c2h_bcn_cnt(struct rtw89_dev *rtwdev, struct sk_buff *c2h, u32 len)
{}

static void
rtw89_mac_c2h_pkt_ofld_rsp(struct rtw89_dev *rtwdev, struct sk_buff *skb_c2h,
			   u32 len)
{}

static void
rtw89_mac_c2h_tsf32_toggle_rpt(struct rtw89_dev *rtwdev, struct sk_buff *c2h,
			       u32 len)
{}

static void
rtw89_mac_c2h_mcc_rcv_ack(struct rtw89_dev *rtwdev, struct sk_buff *c2h, u32 len)
{}

static void
rtw89_mac_c2h_mcc_req_ack(struct rtw89_dev *rtwdev, struct sk_buff *c2h, u32 len)
{}

static void
rtw89_mac_c2h_mcc_tsf_rpt(struct rtw89_dev *rtwdev, struct sk_buff *c2h, u32 len)
{}

static void
rtw89_mac_c2h_mcc_status_rpt(struct rtw89_dev *rtwdev, struct sk_buff *c2h, u32 len)
{}

static void
rtw89_mac_c2h_mrc_tsf_rpt(struct rtw89_dev *rtwdev, struct sk_buff *c2h, u32 len)
{}

static void
rtw89_mac_c2h_wow_aoac_rpt(struct rtw89_dev *rtwdev, struct sk_buff *skb, u32 len)
{}

static void
rtw89_mac_c2h_mrc_status_rpt(struct rtw89_dev *rtwdev, struct sk_buff *c2h, u32 len)
{}

static
void (* const rtw89_mac_c2h_ofld_handler[])(struct rtw89_dev *rtwdev,
					    struct sk_buff *c2h, u32 len) =;

static
void (* const rtw89_mac_c2h_info_handler[])(struct rtw89_dev *rtwdev,
					    struct sk_buff *c2h, u32 len) =;

static
void (* const rtw89_mac_c2h_mcc_handler[])(struct rtw89_dev *rtwdev,
					   struct sk_buff *c2h, u32 len) =;

static
void (* const rtw89_mac_c2h_mrc_handler[])(struct rtw89_dev *rtwdev,
					   struct sk_buff *c2h, u32 len) =;

static
void (* const rtw89_mac_c2h_wow_handler[])(struct rtw89_dev *rtwdev,
					   struct sk_buff *c2h, u32 len) =;

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

bool rtw89_mac_c2h_chk_atomic(struct rtw89_dev *rtwdev, struct sk_buff *c2h,
			      u8 class, u8 func)
{}

void rtw89_mac_c2h_handle(struct rtw89_dev *rtwdev, struct sk_buff *skb,
			  u32 len, u8 class, u8 func)
{}

static
bool rtw89_mac_get_txpwr_cr_ax(struct rtw89_dev *rtwdev,
			       enum rtw89_phy_idx phy_idx,
			       u32 reg_base, u32 *cr)
{}

static
int rtw89_mac_cfg_ppdu_status_ax(struct rtw89_dev *rtwdev, u8 mac_idx, bool enable)
{}

void rtw89_mac_update_rts_threshold(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

void rtw89_mac_flush_txq(struct rtw89_dev *rtwdev, u32 queues, bool drop)
{}

int rtw89_mac_coex_init(struct rtw89_dev *rtwdev, const struct rtw89_mac_ax_coex *coex)
{}
EXPORT_SYMBOL();

int rtw89_mac_coex_init_v1(struct rtw89_dev *rtwdev,
			   const struct rtw89_mac_ax_coex *coex)
{}
EXPORT_SYMBOL();

int rtw89_mac_cfg_gnt(struct rtw89_dev *rtwdev,
		      const struct rtw89_mac_ax_coex_gnt *gnt_cfg)
{}
EXPORT_SYMBOL();

int rtw89_mac_cfg_gnt_v1(struct rtw89_dev *rtwdev,
			 const struct rtw89_mac_ax_coex_gnt *gnt_cfg)
{}
EXPORT_SYMBOL();

static
int rtw89_mac_cfg_plt_ax(struct rtw89_dev *rtwdev, struct rtw89_mac_ax_plt *plt)
{}

void rtw89_mac_cfg_sb(struct rtw89_dev *rtwdev, u32 val)
{}

u32 rtw89_mac_get_sb(struct rtw89_dev *rtwdev)
{}

int rtw89_mac_cfg_ctrl_path(struct rtw89_dev *rtwdev, bool wl)
{}
EXPORT_SYMBOL();

int rtw89_mac_cfg_ctrl_path_v1(struct rtw89_dev *rtwdev, bool wl)
{}
EXPORT_SYMBOL();

bool rtw89_mac_get_ctrl_path(struct rtw89_dev *rtwdev)
{}

static u16 rtw89_mac_get_plt_cnt_ax(struct rtw89_dev *rtwdev, u8 band)
{}

static void rtw89_mac_bfee_standby_timer(struct rtw89_dev *rtwdev, u8 mac_idx,
					 bool keep)
{}

void rtw89_mac_bfee_ctrl(struct rtw89_dev *rtwdev, u8 mac_idx, bool en)
{}

static int rtw89_mac_init_bfee_ax(struct rtw89_dev *rtwdev, u8 mac_idx)
{}

static int rtw89_mac_set_csi_para_reg_ax(struct rtw89_dev *rtwdev,
					 struct ieee80211_vif *vif,
					 struct ieee80211_sta *sta)
{}

static int rtw89_mac_csi_rrsc_ax(struct rtw89_dev *rtwdev,
				 struct ieee80211_vif *vif,
				 struct ieee80211_sta *sta)
{}

static void rtw89_mac_bf_assoc_ax(struct rtw89_dev *rtwdev,
				  struct ieee80211_vif *vif,
				  struct ieee80211_sta *sta)
{}

void rtw89_mac_bf_disassoc(struct rtw89_dev *rtwdev, struct ieee80211_vif *vif,
			   struct ieee80211_sta *sta)
{}

void rtw89_mac_bf_set_gid_table(struct rtw89_dev *rtwdev, struct ieee80211_vif *vif,
				struct ieee80211_bss_conf *conf)
{}

struct rtw89_mac_bf_monitor_iter_data {};

static
void rtw89_mac_bf_monitor_calc_iter(void *data, struct ieee80211_sta *sta)
{}

void rtw89_mac_bf_monitor_calc(struct rtw89_dev *rtwdev,
			       struct ieee80211_sta *sta, bool disconnect)
{}

void _rtw89_mac_bf_monitor_track(struct rtw89_dev *rtwdev)
{}

static int
__rtw89_mac_set_tx_time(struct rtw89_dev *rtwdev, struct rtw89_sta *rtwsta,
			u32 tx_time)
{}

int rtw89_mac_set_tx_time(struct rtw89_dev *rtwdev, struct rtw89_sta *rtwsta,
			  bool resume, u32 tx_time)
{}

int rtw89_mac_get_tx_time(struct rtw89_dev *rtwdev, struct rtw89_sta *rtwsta,
			  u32 *tx_time)
{}

int rtw89_mac_set_tx_retry_limit(struct rtw89_dev *rtwdev,
				 struct rtw89_sta *rtwsta,
				 bool resume, u8 tx_retry)
{}

int rtw89_mac_get_tx_retry_limit(struct rtw89_dev *rtwdev,
				 struct rtw89_sta *rtwsta, u8 *tx_retry)
{}

int rtw89_mac_set_hw_muedca_ctrl(struct rtw89_dev *rtwdev,
				 struct rtw89_vif *rtwvif, bool en)
{}

static
int rtw89_mac_write_xtal_si_ax(struct rtw89_dev *rtwdev, u8 offset, u8 val, u8 mask)
{}

static
int rtw89_mac_read_xtal_si_ax(struct rtw89_dev *rtwdev, u8 offset, u8 *val)
{}

static
void rtw89_mac_pkt_drop_sta(struct rtw89_dev *rtwdev, struct rtw89_sta *rtwsta)
{}

static void rtw89_mac_pkt_drop_vif_iter(void *data, struct ieee80211_sta *sta)
{}

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

int rtw89_mac_ptk_drop_by_band_and_wait(struct rtw89_dev *rtwdev,
					enum rtw89_mac_idx band)
{}

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

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

static u8 rtw89_fw_get_rdy_ax(struct rtw89_dev *rtwdev, enum rtw89_fwdl_check_type type)
{}

static
int rtw89_fwdl_check_path_ready_ax(struct rtw89_dev *rtwdev,
				   bool h2c_or_fwdl)
{}

const struct rtw89_mac_gen_def rtw89_mac_gen_ax =;
EXPORT_SYMBOL();