rtw88: add HT MPDU density value for each chip
Each chip have best ampdu density value, the correct setting can improve throughput performance. Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20220428020521.8015-1-pkshih@realtek.com
This commit is contained in:
parent
72a1a2edeb
commit
1d6d131d50
@ -1461,6 +1461,7 @@ static void rtw_init_ht_cap(struct rtw_dev *rtwdev,
|
|||||||
struct ieee80211_sta_ht_cap *ht_cap)
|
struct ieee80211_sta_ht_cap *ht_cap)
|
||||||
{
|
{
|
||||||
struct rtw_efuse *efuse = &rtwdev->efuse;
|
struct rtw_efuse *efuse = &rtwdev->efuse;
|
||||||
|
struct rtw_chip_info *chip = rtwdev->chip;
|
||||||
|
|
||||||
ht_cap->ht_supported = true;
|
ht_cap->ht_supported = true;
|
||||||
ht_cap->cap = 0;
|
ht_cap->cap = 0;
|
||||||
@ -1478,7 +1479,7 @@ static void rtw_init_ht_cap(struct rtw_dev *rtwdev,
|
|||||||
IEEE80211_HT_CAP_DSSSCCK40 |
|
IEEE80211_HT_CAP_DSSSCCK40 |
|
||||||
IEEE80211_HT_CAP_SGI_40;
|
IEEE80211_HT_CAP_SGI_40;
|
||||||
ht_cap->ampdu_factor = IEEE80211_HT_MAX_AMPDU_64K;
|
ht_cap->ampdu_factor = IEEE80211_HT_MAX_AMPDU_64K;
|
||||||
ht_cap->ampdu_density = IEEE80211_HT_MPDU_DENSITY_16;
|
ht_cap->ampdu_density = chip->ampdu_density;
|
||||||
ht_cap->mcs.tx_params = IEEE80211_HT_MCS_TX_DEFINED;
|
ht_cap->mcs.tx_params = IEEE80211_HT_MCS_TX_DEFINED;
|
||||||
if (efuse->hw_cap.nss > 1) {
|
if (efuse->hw_cap.nss > 1) {
|
||||||
ht_cap->mcs.rx_mask[0] = 0xFF;
|
ht_cap->mcs.rx_mask[0] = 0xFF;
|
||||||
|
@ -1179,6 +1179,7 @@ struct rtw_chip_info {
|
|||||||
bool rx_ldpc;
|
bool rx_ldpc;
|
||||||
bool tx_stbc;
|
bool tx_stbc;
|
||||||
u8 max_power_index;
|
u8 max_power_index;
|
||||||
|
u8 ampdu_density;
|
||||||
|
|
||||||
u16 fw_fifo_addr[RTW_FW_FIFO_MAX];
|
u16 fw_fifo_addr[RTW_FW_FIFO_MAX];
|
||||||
const struct rtw_fwcd_segs *fwcd_segs;
|
const struct rtw_fwcd_segs *fwcd_segs;
|
||||||
|
@ -2747,6 +2747,7 @@ struct rtw_chip_info rtw8723d_hw_spec = {
|
|||||||
.rx_ldpc = false,
|
.rx_ldpc = false,
|
||||||
.pwr_track_tbl = &rtw8723d_rtw_pwr_track_tbl,
|
.pwr_track_tbl = &rtw8723d_rtw_pwr_track_tbl,
|
||||||
.iqk_threshold = 8,
|
.iqk_threshold = 8,
|
||||||
|
.ampdu_density = IEEE80211_HT_MPDU_DENSITY_16,
|
||||||
|
|
||||||
.coex_para_ver = 0x2007022f,
|
.coex_para_ver = 0x2007022f,
|
||||||
.bt_desired_ver = 0x2f,
|
.bt_desired_ver = 0x2f,
|
||||||
|
@ -1923,6 +1923,7 @@ struct rtw_chip_info rtw8821c_hw_spec = {
|
|||||||
.iqk_threshold = 8,
|
.iqk_threshold = 8,
|
||||||
.bfer_su_max_num = 2,
|
.bfer_su_max_num = 2,
|
||||||
.bfer_mu_max_num = 1,
|
.bfer_mu_max_num = 1,
|
||||||
|
.ampdu_density = IEEE80211_HT_MPDU_DENSITY_2,
|
||||||
|
|
||||||
.coex_para_ver = 0x19092746,
|
.coex_para_ver = 0x19092746,
|
||||||
.bt_desired_ver = 0x46,
|
.bt_desired_ver = 0x46,
|
||||||
|
@ -2548,6 +2548,7 @@ struct rtw_chip_info rtw8822b_hw_spec = {
|
|||||||
.edcca_th = rtw8822b_edcca_th,
|
.edcca_th = rtw8822b_edcca_th,
|
||||||
.l2h_th_ini_cs = 10 + EDCCA_IGI_BASE,
|
.l2h_th_ini_cs = 10 + EDCCA_IGI_BASE,
|
||||||
.l2h_th_ini_ad = -14 + EDCCA_IGI_BASE,
|
.l2h_th_ini_ad = -14 + EDCCA_IGI_BASE,
|
||||||
|
.ampdu_density = IEEE80211_HT_MPDU_DENSITY_2,
|
||||||
|
|
||||||
.coex_para_ver = 0x20070206,
|
.coex_para_ver = 0x20070206,
|
||||||
.bt_desired_ver = 0x6,
|
.bt_desired_ver = 0x6,
|
||||||
|
@ -5368,6 +5368,7 @@ struct rtw_chip_info rtw8822c_hw_spec = {
|
|||||||
.edcca_th = rtw8822c_edcca_th,
|
.edcca_th = rtw8822c_edcca_th,
|
||||||
.l2h_th_ini_cs = 60,
|
.l2h_th_ini_cs = 60,
|
||||||
.l2h_th_ini_ad = 45,
|
.l2h_th_ini_ad = 45,
|
||||||
|
.ampdu_density = IEEE80211_HT_MPDU_DENSITY_2,
|
||||||
|
|
||||||
#ifdef CONFIG_PM
|
#ifdef CONFIG_PM
|
||||||
.wow_fw_name = "rtw88/rtw8822c_wow_fw.bin",
|
.wow_fw_name = "rtw88/rtw8822c_wow_fw.bin",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user