Skip to content

Commit 75fd91a

Browse files
Ping-Ke ShihKalle Valo
authored andcommitted
rtw89: update TMAC parameters
TMAC is short for TX MAC, and this patch is to configure FIFO thresholds. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20220325060055.58482-16-pkshih@realtek.com
1 parent 19cb942 commit 75fd91a

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed

drivers/net/wireless/realtek/rtw89/mac.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1919,6 +1919,13 @@ static int tmac_init(struct rtw89_dev *rtwdev, u8 mac_idx)
19191919
reg = rtw89_mac_reg_by_idx(R_AX_MAC_LOOPBACK, mac_idx);
19201920
rtw89_write32_clr(rtwdev, reg, B_AX_MACLBK_EN);
19211921

1922+
reg = rtw89_mac_reg_by_idx(R_AX_TCR0, mac_idx);
1923+
rtw89_write32_mask(rtwdev, reg, B_AX_TCR_UDF_THSD_MASK, TCR_UDF_THSD);
1924+
1925+
reg = rtw89_mac_reg_by_idx(R_AX_TXD_FIFO_CTRL, mac_idx);
1926+
rtw89_write32_mask(rtwdev, reg, B_AX_TXDFIFO_HIGH_MCS_THRE_MASK, TXDFIFO_HIGH_MCS_THRE);
1927+
rtw89_write32_mask(rtwdev, reg, B_AX_TXDFIFO_LOW_MCS_THRE_MASK, TXDFIFO_LOW_MCS_THRE);
1928+
19221929
return 0;
19231930
}
19241931

drivers/net/wireless/realtek/rtw89/reg.h

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1351,6 +1351,24 @@
13511351
#define R_AX_RXDMA_PKT_INFO_1 0xC818
13521352
#define R_AX_RXDMA_PKT_INFO_2 0xC81C
13531353

1354+
#define R_AX_TCR0 0xCA00
1355+
#define R_AX_TCR0_C1 0xEA00
1356+
#define B_AX_TCR_ZLD_NUM_MASK GENMASK(31, 24)
1357+
#define B_AX_TCR_UDF_EN BIT(23)
1358+
#define B_AX_TCR_UDF_THSD_MASK GENMASK(22, 16)
1359+
#define TCR_UDF_THSD 0x6
1360+
#define B_AX_TCR_ERRSTEN_MASK GENMASK(15, 10)
1361+
#define B_AX_TCR_VHTSIGA1_TXPS BIT(9)
1362+
#define B_AX_TCR_PLCP_ERRHDL_EN BIT(8)
1363+
#define B_AX_TCR_PADSEL BIT(7)
1364+
#define B_AX_TCR_MASK_SIGBCRC BIT(6)
1365+
#define B_AX_TCR_SR_VAL15_ALLOW BIT(5)
1366+
#define B_AX_TCR_EN_EOF BIT(4)
1367+
#define B_AX_TCR_EN_SCRAM_INC BIT(3)
1368+
#define B_AX_TCR_EN_20MST BIT(2)
1369+
#define B_AX_TCR_CRC BIT(1)
1370+
#define B_AX_TCR_DISGCLK BIT(0)
1371+
13541372
#define R_AX_TCR1 0xCA04
13551373
#define R_AX_TCR1_C1 0xEA04
13561374
#define B_AX_TXDFIFO_THRESHOLD GENMASK(31, 28)
@@ -1374,6 +1392,17 @@
13741392
#define R_AX_PPWRBIT_SETTING 0xCA0C
13751393
#define R_AX_PPWRBIT_SETTING_C1 0xEA0C
13761394

1395+
#define R_AX_TXD_FIFO_CTRL 0xCA1C
1396+
#define R_AX_TXD_FIFO_CTRL_C1 0xEA1C
1397+
#define B_AX_NON_LEGACY_PPDU_ZLD_USTIMER_MASK GENMASK(28, 24)
1398+
#define B_AX_LEGACY_PPDU_ZLD_USTIMER_MASK GENMASK(20, 16)
1399+
#define B_AX_TXDFIFO_HIGH_MCS_THRE_MASK GENMASK(15, 12)
1400+
#define TXDFIFO_HIGH_MCS_THRE 0x7
1401+
#define B_AX_TXDFIFO_LOW_MCS_THRE_MASK GENMASK(11, 8)
1402+
#define TXDFIFO_LOW_MCS_THRE 0x7
1403+
#define B_AX_HIGH_MCS_PHY_RATE_MASK GENMASK(7, 4)
1404+
#define B_AX_BW_PHY_RATE_MASK GENMASK(1, 0)
1405+
13771406
#define R_AX_MACTX_DBG_SEL_CNT 0xCA20
13781407
#define R_AX_MACTX_DBG_SEL_CNT_C1 0xEA20
13791408
#define B_AX_MACTX_MPDU_CNT GENMASK(31, 24)

0 commit comments

Comments
 (0)