#include "debug.h"
#include "efuse.h"
#include "fw.h"
#include "mac.h"
#include "reg.h"
static const u32 rtw89_mac_mem_base_addrs_be[RTW89_MAC_MEM_NUM] = …;
static const struct rtw89_port_reg rtw89_port_base_be = …;
static int rtw89_mac_check_mac_en_be(struct rtw89_dev *rtwdev, u8 mac_idx,
enum rtw89_mac_hwmod_sel sel)
{ … }
static bool is_qta_poh(struct rtw89_dev *rtwdev)
{ … }
static void hfc_get_mix_info_be(struct rtw89_dev *rtwdev)
{ … }
static void hfc_h2c_cfg_be(struct rtw89_dev *rtwdev)
{ … }
static void hfc_mix_cfg_be(struct rtw89_dev *rtwdev)
{ … }
static void hfc_func_en_be(struct rtw89_dev *rtwdev, bool en, bool h2c_en)
{ … }
static void dle_func_en_be(struct rtw89_dev *rtwdev, bool enable)
{ … }
static void dle_clk_en_be(struct rtw89_dev *rtwdev, bool enable)
{ … }
static int dle_mix_cfg_be(struct rtw89_dev *rtwdev, const struct rtw89_dle_mem *cfg)
{ … }
static int chk_dle_rdy_be(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(_x, _module, _idx) …
static void wde_quota_cfg_be(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_be(struct rtw89_dev *rtwdev,
const struct rtw89_ple_quota *min_cfg,
const struct rtw89_ple_quota *max_cfg)
{ … }
static void rtw89_mac_hci_func_en_be(struct rtw89_dev *rtwdev)
{ … }
static void rtw89_mac_dmac_func_pre_en_be(struct rtw89_dev *rtwdev)
{ … }
static
int rtw89_mac_write_xtal_si_be(struct rtw89_dev *rtwdev, u8 offset, u8 val, u8 mask)
{ … }
static
int rtw89_mac_read_xtal_si_be(struct rtw89_dev *rtwdev, u8 offset, u8 *val)
{ … }
static void rtw89_mac_disable_cpu_be(struct rtw89_dev *rtwdev)
{ … }
static void set_cpu_en(struct rtw89_dev *rtwdev, bool include_bb)
{ … }
static int wcpu_on(struct rtw89_dev *rtwdev, u8 boot_reason, bool dlfw)
{ … }
static int rtw89_mac_fwdl_enable_wcpu_be(struct rtw89_dev *rtwdev,
u8 boot_reason, bool dlfw,
bool include_bb)
{ … }
static const u8 fwdl_status_map[] = …;
static u8 fwdl_get_status_be(struct rtw89_dev *rtwdev, enum rtw89_fwdl_check_type type)
{ … }
static int rtw89_fwdl_check_path_ready_be(struct rtw89_dev *rtwdev,
bool h2c_or_fwdl)
{ … }
static int dmac_func_en_be(struct rtw89_dev *rtwdev)
{ … }
static int cmac_func_en_be(struct rtw89_dev *rtwdev, u8 mac_idx, bool en)
{ … }
static int chip_func_en_be(struct rtw89_dev *rtwdev)
{ … }
static int sys_init_be(struct rtw89_dev *rtwdev)
{ … }
static int sta_sch_init_be(struct rtw89_dev *rtwdev)
{ … }
static int mpdu_proc_init_be(struct rtw89_dev *rtwdev)
{ … }
static int sec_eng_init_be(struct rtw89_dev *rtwdev)
{ … }
static int txpktctrl_init_be(struct rtw89_dev *rtwdev)
{ … }
static int mlo_init_be(struct rtw89_dev *rtwdev)
{ … }
static int dmac_init_be(struct rtw89_dev *rtwdev, u8 mac_idx)
{ … }
static int scheduler_init_be(struct rtw89_dev *rtwdev, u8 mac_idx)
{ … }
static int addr_cam_init_be(struct rtw89_dev *rtwdev, u8 mac_idx)
{ … }
static int rtw89_mac_typ_fltr_opt_be(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_be(struct rtw89_dev *rtwdev, u8 mac_idx)
{ … }
static int cca_ctrl_init_be(struct rtw89_dev *rtwdev, u8 mac_idx)
{ … }
static int nav_ctrl_init_be(struct rtw89_dev *rtwdev, u8 mac_idx)
{ … }
static int spatial_reuse_init_be(struct rtw89_dev *rtwdev, u8 mac_idx)
{ … }
static int tmac_init_be(struct rtw89_dev *rtwdev, u8 mac_idx)
{ … }
static int trxptcl_init_be(struct rtw89_dev *rtwdev, u8 mac_idx)
{ … }
static int rst_bacam_be(struct rtw89_dev *rtwdev)
{ … }
#define PLD_RLS_MAX_PG …
#define RX_MAX_LEN_UNIT …
#define RX_SPEC_MAX_LEN …
static int rmac_init_be(struct rtw89_dev *rtwdev, u8 mac_idx)
{ … }
static int resp_pktctl_init_be(struct rtw89_dev *rtwdev, u8 mac_idx)
{ … }
static int cmac_com_init_be(struct rtw89_dev *rtwdev, u8 mac_idx)
{ … }
static int ptcl_init_be(struct rtw89_dev *rtwdev, u8 mac_idx)
{ … }
static int cmac_dma_init_be(struct rtw89_dev *rtwdev, u8 mac_idx)
{ … }
static int cmac_init_be(struct rtw89_dev *rtwdev, u8 mac_idx)
{ … }
static int tx_idle_poll_band_be(struct rtw89_dev *rtwdev, u8 mac_idx)
{ … }
static int dle_buf_req_be(struct rtw89_dev *rtwdev, u16 buf_len, bool wd, u16 *pkt_id)
{ … }
static int set_cpuio_be(struct rtw89_dev *rtwdev,
struct rtw89_cpuio_ctrl *ctrl_para, bool wd)
{ … }
static int dle_upd_qta_aval_page_be(struct rtw89_dev *rtwdev,
enum rtw89_mac_dle_ctrl_type type,
enum rtw89_mac_dle_ple_quota_id quota_id)
{ … }
static int dle_quota_change_be(struct rtw89_dev *rtwdev, bool band1_en)
{ … }
static int preload_init_be(struct rtw89_dev *rtwdev, u8 mac_idx,
enum rtw89_qta_mode mode)
{ … }
static int dbcc_bb_ctrl_be(struct rtw89_dev *rtwdev, bool bb1_en)
{ … }
static int enable_imr_be(struct rtw89_dev *rtwdev, u8 mac_idx,
enum rtw89_mac_hwmod_sel sel)
{ … }
static void err_imr_ctrl_be(struct rtw89_dev *rtwdev, bool en)
{ … }
static int band1_enable_be(struct rtw89_dev *rtwdev)
{ … }
static int band1_disable_be(struct rtw89_dev *rtwdev)
{ … }
static int dbcc_enable_be(struct rtw89_dev *rtwdev, bool enable)
{ … }
static int set_host_rpr_be(struct rtw89_dev *rtwdev)
{ … }
static int trx_init_be(struct rtw89_dev *rtwdev)
{ … }
int rtw89_mac_cfg_gnt_v2(struct rtw89_dev *rtwdev,
const struct rtw89_mac_ax_coex_gnt *gnt_cfg)
{ … }
EXPORT_SYMBOL(…);
int rtw89_mac_cfg_ctrl_path_v2(struct rtw89_dev *rtwdev, bool wl)
{ … }
EXPORT_SYMBOL(…);
static
int rtw89_mac_cfg_plt_be(struct rtw89_dev *rtwdev, struct rtw89_mac_ax_plt *plt)
{ … }
static u16 rtw89_mac_get_plt_cnt_be(struct rtw89_dev *rtwdev, u8 band)
{ … }
static int rtw89_set_hw_sch_tx_en_v2(struct rtw89_dev *rtwdev, u8 mac_idx,
u32 tx_en, u32 tx_en_mask)
{ … }
int rtw89_mac_stop_sch_tx_v2(struct rtw89_dev *rtwdev, u8 mac_idx,
u32 *tx_en, enum rtw89_sch_tx_sel sel)
{ … }
EXPORT_SYMBOL(…);
int rtw89_mac_resume_sch_tx_v2(struct rtw89_dev *rtwdev, u8 mac_idx, u32 tx_en)
{ … }
EXPORT_SYMBOL(…);
static
int rtw89_mac_cfg_ppdu_status_be(struct rtw89_dev *rtwdev, u8 mac_idx, bool enable)
{ … }
static bool rtw89_mac_get_txpwr_cr_be(struct rtw89_dev *rtwdev,
enum rtw89_phy_idx phy_idx,
u32 reg_base, u32 *cr)
{ … }
static int rtw89_mac_init_bfee_be(struct rtw89_dev *rtwdev, u8 mac_idx)
{ … }
static int rtw89_mac_set_csi_para_reg_be(struct rtw89_dev *rtwdev,
struct ieee80211_vif *vif,
struct ieee80211_sta *sta)
{ … }
static int rtw89_mac_csi_rrsc_be(struct rtw89_dev *rtwdev,
struct ieee80211_vif *vif,
struct ieee80211_sta *sta)
{ … }
static void rtw89_mac_bf_assoc_be(struct rtw89_dev *rtwdev,
struct ieee80211_vif *vif,
struct ieee80211_sta *sta)
{ … }
static void dump_err_status_dispatcher_be(struct rtw89_dev *rtwdev)
{ … }
static void rtw89_mac_dump_qta_lost_be(struct rtw89_dev *rtwdev)
{ … }
static int rtw89_wow_config_mac_be(struct rtw89_dev *rtwdev, bool enable_wow)
{ … }
static void rtw89_mac_dump_cmac_err_status_be(struct rtw89_dev *rtwdev,
u8 band)
{ … }
static void rtw89_mac_dump_err_status_be(struct rtw89_dev *rtwdev,
enum mac_ax_err_info err)
{ … }
static bool mac_is_txq_empty_be(struct rtw89_dev *rtwdev)
{ … }
const struct rtw89_mac_gen_def rtw89_mac_gen_be = …;
EXPORT_SYMBOL(…);