linux/drivers/net/wireless/realtek/rtw88/rtw8821c.c

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

#include "main.h"
#include "coex.h"
#include "fw.h"
#include "tx.h"
#include "rx.h"
#include "phy.h"
#include "rtw8821c.h"
#include "rtw8821c_table.h"
#include "mac.h"
#include "reg.h"
#include "debug.h"
#include "bf.h"
#include "regd.h"

static const s8 lna_gain_table_0[8] =;
static const s8 lna_gain_table_1[16] =;

static void rtw8821ce_efuse_parsing(struct rtw_efuse *efuse,
				    struct rtw8821c_efuse *map)
{}

static void rtw8821cu_efuse_parsing(struct rtw_efuse *efuse,
				    struct rtw8821c_efuse *map)
{}

static void rtw8821cs_efuse_parsing(struct rtw_efuse *efuse,
				    struct rtw8821c_efuse *map)
{}

enum rtw8821ce_rf_set {};

static int rtw8821c_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
{}

static const u32 rtw8821c_txscale_tbl[] =;

static u8 rtw8821c_get_swing_index(struct rtw_dev *rtwdev)
{}

static void rtw8821c_pwrtrack_init(struct rtw_dev *rtwdev)
{}

static void rtw8821c_phy_bf_init(struct rtw_dev *rtwdev)
{}

static void rtw8821c_phy_set_param(struct rtw_dev *rtwdev)
{}

static int rtw8821c_mac_init(struct rtw_dev *rtwdev)
{}

static void rtw8821c_cfg_ldo25(struct rtw_dev *rtwdev, bool enable)
{}

static void rtw8821c_switch_rf_set(struct rtw_dev *rtwdev, u8 rf_set)
{}

static void rtw8821c_set_channel_rf(struct rtw_dev *rtwdev, u8 channel, u8 bw)
{}

static void rtw8821c_set_channel_rxdfir(struct rtw_dev *rtwdev, u8 bw)
{}

static void rtw8821c_cck_tx_filter_srrc(struct rtw_dev *rtwdev, u8 channel, u8 bw)
{}

static void rtw8821c_set_channel_bb(struct rtw_dev *rtwdev, u8 channel, u8 bw,
				    u8 primary_ch_idx)
{}

static u32 rtw8821c_get_bb_swing(struct rtw_dev *rtwdev, u8 channel)
{}

static void rtw8821c_set_channel_bb_swing(struct rtw_dev *rtwdev, u8 channel,
					  u8 bw, u8 primary_ch_idx)
{}

static void rtw8821c_set_channel(struct rtw_dev *rtwdev, u8 channel, u8 bw,
				 u8 primary_chan_idx)
{}

static s8 get_cck_rx_pwr(struct rtw_dev *rtwdev, u8 lna_idx, u8 vga_idx)
{}

static void query_phy_status_page0(struct rtw_dev *rtwdev, u8 *phy_status,
				   struct rtw_rx_pkt_stat *pkt_stat)
{}

static void query_phy_status_page1(struct rtw_dev *rtwdev, u8 *phy_status,
				   struct rtw_rx_pkt_stat *pkt_stat)
{}

static void query_phy_status(struct rtw_dev *rtwdev, u8 *phy_status,
			     struct rtw_rx_pkt_stat *pkt_stat)
{}

static void rtw8821c_query_rx_desc(struct rtw_dev *rtwdev, u8 *rx_desc,
				   struct rtw_rx_pkt_stat *pkt_stat,
				   struct ieee80211_rx_status *rx_status)
{}

static void
rtw8821c_set_tx_power_index_by_rate(struct rtw_dev *rtwdev, u8 path, u8 rs)
{}

static void rtw8821c_set_tx_power_index(struct rtw_dev *rtwdev)
{}

static void rtw8821c_false_alarm_statistics(struct rtw_dev *rtwdev)
{}

static void rtw8821c_do_iqk(struct rtw_dev *rtwdev)
{}

static void rtw8821c_phy_calibration(struct rtw_dev *rtwdev)
{}

/* for coex */
static void rtw8821c_coex_cfg_init(struct rtw_dev *rtwdev)
{}

static void rtw8821c_coex_cfg_ant_switch(struct rtw_dev *rtwdev, u8 ctrl_type,
					 u8 pos_type)
{}

static void rtw8821c_coex_cfg_gnt_fix(struct rtw_dev *rtwdev)
{}

static void rtw8821c_coex_cfg_gnt_debug(struct rtw_dev *rtwdev)
{}

static void rtw8821c_coex_cfg_rfe_type(struct rtw_dev *rtwdev)
{}

static void rtw8821c_coex_cfg_wl_tx_power(struct rtw_dev *rtwdev, u8 wl_pwr)
{}

static void rtw8821c_coex_cfg_wl_rx_gain(struct rtw_dev *rtwdev, bool low_gain)
{}

static void
rtw8821c_txagc_swing_offset(struct rtw_dev *rtwdev, u8 pwr_idx_offset,
			    s8 pwr_idx_offset_lower,
			    s8 *txagc_idx, u8 *swing_idx)
{}

static void rtw8821c_pwrtrack_set_pwr(struct rtw_dev *rtwdev, u8 pwr_idx_offset,
				      s8 pwr_idx_offset_lower)
{}

static void rtw8821c_pwrtrack_set(struct rtw_dev *rtwdev)
{}

static void rtw8821c_phy_pwrtrack(struct rtw_dev *rtwdev)
{}

static void rtw8821c_pwr_track(struct rtw_dev *rtwdev)
{}

static void rtw8821c_bf_config_bfee_su(struct rtw_dev *rtwdev,
				       struct rtw_vif *vif,
				       struct rtw_bfee *bfee, bool enable)
{}

static void rtw8821c_bf_config_bfee_mu(struct rtw_dev *rtwdev,
				       struct rtw_vif *vif,
				       struct rtw_bfee *bfee, bool enable)
{}

static void rtw8821c_bf_config_bfee(struct rtw_dev *rtwdev, struct rtw_vif *vif,
				    struct rtw_bfee *bfee, bool enable)
{}

static void rtw8821c_phy_cck_pd_set(struct rtw_dev *rtwdev, u8 new_lvl)
{}

static void rtw8821c_fill_txdesc_checksum(struct rtw_dev *rtwdev,
					  struct rtw_tx_pkt_info *pkt_info,
					  u8 *txdesc)
{}

static struct rtw_pwr_seq_cmd trans_carddis_to_cardemu_8821c[] =;

static struct rtw_pwr_seq_cmd trans_cardemu_to_act_8821c[] =;

static struct rtw_pwr_seq_cmd trans_act_to_cardemu_8821c[] =;

static struct rtw_pwr_seq_cmd trans_cardemu_to_carddis_8821c[] =;

static const struct rtw_pwr_seq_cmd *card_enable_flow_8821c[] =;

static const struct rtw_pwr_seq_cmd *card_disable_flow_8821c[] =;

static const struct rtw_intf_phy_para usb2_param_8821c[] =;

static const struct rtw_intf_phy_para usb3_param_8821c[] =;

static const struct rtw_intf_phy_para pcie_gen1_param_8821c[] =;

static const struct rtw_intf_phy_para pcie_gen2_param_8821c[] =;

static const struct rtw_intf_phy_para_table phy_para_table_8821c =;

static const struct rtw_rfe_def rtw8821c_rfe_defs[] =;

static struct rtw_hw_reg rtw8821c_dig[] =;

static const struct rtw_ltecoex_addr rtw8821c_ltecoex_addr =;

static struct rtw_page_table page_table_8821c[] =;

static struct rtw_rqpn rqpn_table_8821c[] =;

static struct rtw_prioq_addrs prioq_addrs_8821c =;

static struct rtw_chip_ops rtw8821c_ops =;

/* rssi in percentage % (dbm = % - 100) */
static const u8 wl_rssi_step_8821c[] =;
static const u8 bt_rssi_step_8821c[] =;

/* Shared-Antenna Coex Table */
static const struct coex_table_para table_sant_8821c[] =;

/* Non-Shared-Antenna Coex Table */
static const struct coex_table_para table_nsant_8821c[] =;

/* Shared-Antenna TDMA */
static const struct coex_tdma_para tdma_sant_8821c[] =;

/* Non-Shared-Antenna TDMA */
static const struct coex_tdma_para tdma_nsant_8821c[] =;

static const struct coex_5g_afh_map afh_5g_8821c[] =;

/* wl_tx_dec_power, bt_tx_dec_power, wl_rx_gain, bt_rx_lna_constrain */
static const struct coex_rf_para rf_para_tx_8821c[] =;

static const struct coex_rf_para rf_para_rx_8821c[] =;

static_assert();

static const u8 rtw8821c_pwrtrk_5gb_n[][RTW_PWR_TRK_TBL_SZ] =;

static const u8 rtw8821c_pwrtrk_5gb_p[][RTW_PWR_TRK_TBL_SZ] =;

static const u8 rtw8821c_pwrtrk_5ga_n[][RTW_PWR_TRK_TBL_SZ] =;

static const u8 rtw8821c_pwrtrk_5ga_p[][RTW_PWR_TRK_TBL_SZ] =;

static const u8 rtw8821c_pwrtrk_2gb_n[] =;

static const u8 rtw8821c_pwrtrk_2gb_p[] =;

static const u8 rtw8821c_pwrtrk_2ga_n[] =;

static const u8 rtw8821c_pwrtrk_2ga_p[] =;

static const u8 rtw8821c_pwrtrk_2g_cck_b_n[] =;

static const u8 rtw8821c_pwrtrk_2g_cck_b_p[] =;

static const u8 rtw8821c_pwrtrk_2g_cck_a_n[] =;

static const u8 rtw8821c_pwrtrk_2g_cck_a_p[] =;

static const struct rtw_pwr_track_tbl rtw8821c_rtw_pwr_track_tbl =;

static const struct rtw_reg_domain coex_info_hw_regs_8821c[] =;

const struct rtw_chip_info rtw8821c_hw_spec =;
EXPORT_SYMBOL();

MODULE_FIRMWARE();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();