diff options
Diffstat (limited to 'sys/contrib/dev/rtw89/rtw8852a.c')
| -rw-r--r-- | sys/contrib/dev/rtw89/rtw8852a.c | 35 | 
1 files changed, 28 insertions, 7 deletions
| diff --git a/sys/contrib/dev/rtw89/rtw8852a.c b/sys/contrib/dev/rtw89/rtw8852a.c index 9bd2842c27d5..3bbe2a808844 100644 --- a/sys/contrib/dev/rtw89/rtw8852a.c +++ b/sys/contrib/dev/rtw89/rtw8852a.c @@ -522,10 +522,17 @@ static const struct rtw89_edcca_regs rtw8852a_edcca_regs = {  	.edcca_p_mask			= B_EDCCA_LVL_MSK1,  	.ppdu_level			= R_SEG0R_EDCCA_LVL,  	.ppdu_mask			= B_EDCCA_LVL_MSK3, -	.rpt_a				= R_EDCCA_RPT_A, -	.rpt_b				= R_EDCCA_RPT_B, -	.rpt_sel			= R_EDCCA_RPT_SEL, -	.rpt_sel_mask			= B_EDCCA_RPT_SEL_MSK, +	.p = {{ +		.rpt_a			= R_EDCCA_RPT_A, +		.rpt_b			= R_EDCCA_RPT_B, +		.rpt_sel		= R_EDCCA_RPT_SEL, +		.rpt_sel_mask		= B_EDCCA_RPT_SEL_MSK, +	}, { +		.rpt_a			= R_EDCCA_RPT_P1_A, +		.rpt_b			= R_EDCCA_RPT_P1_B, +		.rpt_sel		= R_EDCCA_RPT_SEL, +		.rpt_sel_mask		= B_EDCCA_RPT_SEL_P1_MSK, +	}},  	.tx_collision_t2r_st		= R_TX_COLLISION_T2R_ST,  	.tx_collision_t2r_st_mask	= B_TX_COLLISION_T2R_ST_M,  }; @@ -1356,10 +1363,16 @@ static void rtw8852a_rfk_channel(struct rtw89_dev *rtwdev,  	enum rtw89_chanctx_idx chanctx_idx = rtwvif_link->chanctx_idx;  	enum rtw89_phy_idx phy_idx = rtwvif_link->phy_idx; +	rtw89_btc_ntfy_conn_rfk(rtwdev, true); +  	rtw8852a_rx_dck(rtwdev, phy_idx, true, chanctx_idx);  	rtw8852a_iqk(rtwdev, phy_idx, chanctx_idx); +	rtw89_btc_ntfy_preserve_bt_time(rtwdev, 30);  	rtw8852a_tssi(rtwdev, phy_idx, chanctx_idx); +	rtw89_btc_ntfy_preserve_bt_time(rtwdev, 30);  	rtw8852a_dpk(rtwdev, phy_idx, chanctx_idx); + +	rtw89_btc_ntfy_conn_rfk(rtwdev, false);  }  static void rtw8852a_rfk_band_changed(struct rtw89_dev *rtwdev, @@ -2115,6 +2128,7 @@ static const struct rtw89_chip_ops rtw8852a_chip_ops = {  	.set_txpwr_ctrl		= rtw8852a_set_txpwr_ctrl,  	.init_txpwr_unit	= rtw8852a_init_txpwr_unit,  	.get_thermal		= rtw8852a_get_thermal, +	.chan_to_rf18_val	= NULL,  	.ctrl_btg_bt_rx		= rtw8852a_ctrl_btg_bt_rx,  	.query_ppdu		= rtw8852a_query_ppdu,  	.convert_rpl_to_rssi	= NULL, @@ -2136,6 +2150,8 @@ static const struct rtw89_chip_ops rtw8852a_chip_ops = {  	.h2c_default_cmac_tbl	= rtw89_fw_h2c_default_cmac_tbl,  	.h2c_assoc_cmac_tbl	= rtw89_fw_h2c_assoc_cmac_tbl,  	.h2c_ampdu_cmac_tbl	= NULL, +	.h2c_txtime_cmac_tbl	= rtw89_fw_h2c_txtime_cmac_tbl, +	.h2c_punctured_cmac_tbl	= NULL,  	.h2c_default_dmac_tbl	= NULL,  	.h2c_update_beacon	= rtw89_fw_h2c_update_beacon,  	.h2c_ba_cam		= rtw89_fw_h2c_ba_cam, @@ -2162,14 +2178,15 @@ const struct rtw89_chip_info rtw8852a_chip_info = {  	.try_ce_fw		= false,  	.bbmcu_nr		= 0,  	.needed_fw_elms		= 0, +	.fw_blacklist		= NULL,  	.fifo_size		= 458752,  	.small_fifo_size	= false,  	.dle_scc_rsvd_size	= 0,  	.max_amsdu_limit	= 3500,  	.dis_2g_40m_ul_ofdma	= true,  	.rsvd_ple_ofst		= 0x6f800, -	.hfc_param_ini		= rtw8852a_hfc_param_ini_pcie, -	.dle_mem		= rtw8852a_dle_mem_pcie, +	.hfc_param_ini		= {rtw8852a_hfc_param_ini_pcie, NULL, NULL}, +	.dle_mem		= {rtw8852a_dle_mem_pcie, NULL, NULL, NULL},  	.wde_qempty_acq_grpnum	= 16,  	.wde_qempty_mgq_grpsel	= 16,  	.rf_base_addr		= {0xc000, 0xd000}, @@ -2201,10 +2218,15 @@ const struct rtw89_chip_info rtw8852a_chip_info = {  				  BIT(NL80211_CHAN_WIDTH_80),  	.support_unii4		= false,  	.support_ant_gain	= false, +	.support_tas		= false, +	.support_sar_by_ant	= false,  	.ul_tb_waveform_ctrl	= false,  	.ul_tb_pwr_diff		= false, +	.rx_freq_frome_ie	= true,  	.hw_sec_hdr		= false,  	.hw_mgmt_tx_encrypt	= false, +	.hw_tkip_crypto		= false, +	.hw_mlo_bmc_crypto	= false,  	.rf_path_num		= 2,  	.tx_nss			= 2,  	.rx_nss			= 2, @@ -2226,7 +2248,6 @@ const struct rtw89_chip_info rtw8852a_chip_info = {  	.phycap_size		= 128,  	.para_ver		= 0x0,  	.wlcx_desired		= 0x06000000, -	.btcx_desired		= 0x7,  	.scbd			= 0x1,  	.mailbox		= 0x1, | 
