#include "../wifi.h"
#include "../base.h"
#include "../pci.h"
#include "../core.h"
#include "reg.h"
#include "def.h"
#include "phy.h"
#include "dm.h"
#include "fw.h"
#include "trx.h"
#include "../btcoexist/rtl_btc.h"
static const u32 txscaling_tbl[TXSCALE_TABLE_SIZE] = …;
static const u32 rtl8821ae_txscaling_table[TXSCALE_TABLE_SIZE] = …;
static const u32 edca_setting_dl[PEER_MAX] = …;
static const u32 edca_setting_ul[PEER_MAX] = …;
static const u8 rtl8818e_delta_swing_table_idx_24gb_p[] = …;
static const u8 rtl8818e_delta_swing_table_idx_24gb_n[] = …;
static const u8 rtl8812ae_delta_swing_table_idx_24gb_n[] = …;
static const u8 rtl8812ae_delta_swing_table_idx_24gb_p[] = …;
static const u8 rtl8812ae_delta_swing_table_idx_24ga_n[] = …;
static const u8 rtl8812ae_delta_swing_table_idx_24ga_p[] = …;
static const u8 rtl8812ae_delta_swing_table_idx_24gcckb_n[] = …;
static const u8 rtl8812ae_delta_swing_table_idx_24gcckb_p[] = …;
static const u8 rtl8812ae_delta_swing_table_idx_24gccka_n[] = …;
static const u8 rtl8812ae_delta_swing_table_idx_24gccka_p[] = …;
static const u8 rtl8812ae_delta_swing_table_idx_5gb_n[][DEL_SW_IDX_SZ] = …;
static const u8 rtl8812ae_delta_swing_table_idx_5gb_p[][DEL_SW_IDX_SZ] = …;
static const u8 rtl8812ae_delta_swing_table_idx_5ga_n[][DEL_SW_IDX_SZ] = …;
static const u8 rtl8812ae_delta_swing_table_idx_5ga_p[][DEL_SW_IDX_SZ] = …;
static const u8 rtl8821ae_delta_swing_table_idx_24ga_n[] = …;
static const u8 rtl8821ae_delta_swing_table_idx_24ga_p[] = …;
static const u8 rtl8821ae_delta_swing_table_idx_24gccka_n[] = …;
static const u8 rtl8821ae_delta_swing_table_idx_24gccka_p[] = …;
static const u8 rtl8821ae_delta_swing_table_idx_5ga_n[][DEL_SW_IDX_SZ] = …;
static const u8 rtl8821ae_delta_swing_table_idx_5ga_p[][DEL_SW_IDX_SZ] = …;
void rtl8821ae_dm_txpower_track_adjust(struct ieee80211_hw *hw,
u8 type, u8 *pdirection,
u32 *poutwrite_val)
{ … }
void rtl8821ae_dm_clear_txpower_tracking_state(struct ieee80211_hw *hw)
{ … }
static u8 rtl8821ae_dm_get_swing_index(struct ieee80211_hw *hw)
{ … }
void rtl8821ae_dm_initialize_txpower_tracking_thermalmeter(
struct ieee80211_hw *hw)
{ … }
void rtl8821ae_dm_init_edca_turbo(struct ieee80211_hw *hw)
{ … }
void rtl8821ae_dm_init_rate_adaptive_mask(struct ieee80211_hw *hw)
{ … }
static void rtl8821ae_dm_init_dynamic_atc_switch(struct ieee80211_hw *hw)
{ … }
static void rtl8821ae_dm_common_info_self_init(struct ieee80211_hw *hw)
{ … }
void rtl8821ae_dm_init(struct ieee80211_hw *hw)
{ … }
static void rtl8821ae_dm_find_minimum_rssi(struct ieee80211_hw *hw)
{ … }
static void rtl8812ae_dm_rssi_dump_to_register(struct ieee80211_hw *hw)
{ … }
static void rtl8821ae_dm_check_rssi_monitor(struct ieee80211_hw *hw)
{ … }
void rtl8821ae_dm_write_cck_cca_thres(struct ieee80211_hw *hw, u8 current_cca)
{ … }
void rtl8821ae_dm_write_dig(struct ieee80211_hw *hw, u8 current_igi)
{ … }
static void rtl8821ae_dm_dig(struct ieee80211_hw *hw)
{ … }
static void rtl8821ae_dm_common_info_self_update(struct ieee80211_hw *hw)
{ … }
static void rtl8821ae_dm_false_alarm_counter_statistics(struct ieee80211_hw *hw)
{ … }
static void rtl8812ae_dm_check_txpower_tracking_thermalmeter(
struct ieee80211_hw *hw)
{ … }
static void rtl8821ae_dm_iq_calibrate(struct ieee80211_hw *hw)
{ … }
static void rtl8812ae_get_delta_swing_table(struct ieee80211_hw *hw,
const u8 **up_a,
const u8 **down_a,
const u8 **up_b,
const u8 **down_b)
{ … }
void rtl8821ae_dm_update_init_rate(struct ieee80211_hw *hw, u8 rate)
{ … }
u8 rtl8821ae_hw_rate_to_mrate(struct ieee80211_hw *hw, u8 rate)
{ … }
void rtl8812ae_dm_txpwr_track_set_pwr(struct ieee80211_hw *hw,
enum pwr_track_control_method method,
u8 rf_path, u8 channel_mapped_index)
{ … }
void rtl8812ae_dm_txpower_tracking_callback_thermalmeter(
struct ieee80211_hw *hw)
{ … }
static void rtl8821ae_get_delta_swing_table(struct ieee80211_hw *hw,
const u8 **up_a,
const u8 **down_a)
{ … }
void rtl8821ae_dm_txpwr_track_set_pwr(struct ieee80211_hw *hw,
enum pwr_track_control_method method,
u8 rf_path, u8 channel_mapped_index)
{ … }
void rtl8821ae_dm_txpower_tracking_callback_thermalmeter(
struct ieee80211_hw *hw)
{ … }
void rtl8821ae_dm_check_txpower_tracking_thermalmeter(struct ieee80211_hw *hw)
{ … }
static void rtl8821ae_dm_refresh_rate_adaptive_mask(struct ieee80211_hw *hw)
{ … }
static void rtl8821ae_dm_refresh_basic_rate_mask(struct ieee80211_hw *hw)
{ … }
static void rtl8821ae_dm_edca_choose_traffic_idx(
struct ieee80211_hw *hw, u64 cur_tx_bytes,
u64 cur_rx_bytes, bool b_bias_on_rx,
bool *pb_is_cur_rdl_state)
{ … }
static void rtl8821ae_dm_check_edca_turbo(struct ieee80211_hw *hw)
{ … }
static void rtl8821ae_dm_cck_packet_detection_thresh(struct ieee80211_hw *hw)
{ … }
static void rtl8821ae_dm_dynamic_atc_switch(struct ieee80211_hw *hw)
{ … }
void rtl8821ae_dm_watchdog(struct ieee80211_hw *hw)
{ … }
void rtl8821ae_dm_set_tx_ant_by_tx_info(struct ieee80211_hw *hw,
u8 *pdesc, u32 mac_id)
{ … }