#include "../wifi.h"
#include "../pci.h"
#include "../base.h"
#include "../core.h"
#include "../efuse.h"
#include "reg.h"
#include "def.h"
#include "fw.h"
#include "dm.h"
static void _rtl8821ae_enable_fw_download(struct ieee80211_hw *hw, bool enable)
{ … }
static void _rtl8821ae_write_fw(struct ieee80211_hw *hw,
enum version_8821ae version,
u8 *buffer, u32 size)
{ … }
static int _rtl8821ae_fw_free_to_go(struct ieee80211_hw *hw)
{ … }
static void _rtl8821ae_wait_for_h2c_cmd_finish(struct rtl_priv *rtlpriv)
{ … }
int rtl8821ae_download_fw(struct ieee80211_hw *hw, bool buse_wake_on_wlan_fw)
{ … }
#if (USE_SPECIFIC_FW_TO_SUPPORT_WOWLAN == 1)
void rtl8821ae_set_fw_related_for_wowlan(struct ieee80211_hw *hw,
bool used_wowlan_fw)
{ … }
#endif
static bool _rtl8821ae_check_fw_read_last_h2c(struct ieee80211_hw *hw,
u8 boxnum)
{ … }
static void _rtl8821ae_fill_h2c_command(struct ieee80211_hw *hw,
u8 element_id, u32 cmd_len,
u8 *cmdbuffer)
{ … }
void rtl8821ae_fill_h2c_cmd(struct ieee80211_hw *hw,
u8 element_id, u32 cmd_len, u8 *cmdbuffer)
{ … }
void rtl8821ae_firmware_selfreset(struct ieee80211_hw *hw)
{ … }
void rtl8821ae_set_fw_pwrmode_cmd(struct ieee80211_hw *hw, u8 mode)
{ … }
void rtl8821ae_set_fw_media_status_rpt_cmd(struct ieee80211_hw *hw,
u8 mstatus)
{ … }
void rtl8821ae_set_fw_ap_off_load_cmd(struct ieee80211_hw *hw,
u8 ap_offload_enable)
{ … }
void rtl8821ae_set_fw_wowlan_mode(struct ieee80211_hw *hw, bool func_en)
{ … }
void rtl8821ae_set_fw_remote_wake_ctrl_cmd(struct ieee80211_hw *hw,
u8 enable)
{ … }
void rtl8821ae_set_fw_keep_alive_cmd(struct ieee80211_hw *hw,
bool func_en)
{ … }
void rtl8821ae_set_fw_disconnect_decision_ctrl_cmd(struct ieee80211_hw *hw,
bool enabled)
{ … }
void rtl8821ae_set_fw_global_info_cmd(struct ieee80211_hw *hw)
{ … }
#define BEACON_PG …
#define PSPOLL_PG …
#define NULL_PG …
#define QOSNULL_PG …
#define BT_QOSNULL_PG …
#define ARPRESP_PG …
#define REMOTE_PG …
#define GTKEXT_PG …
#define TOTAL_RESERVED_PKT_LEN_8812 …
#define TOTAL_RESERVED_PKT_LEN_8821 …
static u8 reserved_page_packet_8821[TOTAL_RESERVED_PKT_LEN_8821] = …;
static u8 reserved_page_packet_8812[TOTAL_RESERVED_PKT_LEN_8812] = …;
void rtl8812ae_set_fw_rsvdpagepkt(struct ieee80211_hw *hw,
bool b_dl_finished, bool dl_whole_packets)
{ … }
void rtl8821ae_set_fw_rsvdpagepkt(struct ieee80211_hw *hw,
bool b_dl_finished, bool dl_whole_packets)
{ … }
static void rtl8821ae_set_p2p_ctw_period_cmd(struct ieee80211_hw *hw, u8 ctwindow)
{ … }
void rtl8821ae_set_p2p_ps_offload_cmd(struct ieee80211_hw *hw, u8 p2p_ps_state)
{ … }
void rtl8821ae_c2h_ra_report_handler(struct ieee80211_hw *hw,
u8 *cmd_buf, u8 cmd_len)
{ … }