Skip to content

Commit 19cb942

Browse files
Ping-Ke ShihKalle Valo
authored andcommitted
rtw89: initialize NAV control
Configure NAV function and its parameters. 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-15-pkshih@realtek.com
1 parent c49154f commit 19cb942

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1883,6 +1883,16 @@ static int cca_ctrl_init(struct rtw89_dev *rtwdev, u8 mac_idx)
18831883
return 0;
18841884
}
18851885

1886+
static int nav_ctrl_init(struct rtw89_dev *rtwdev)
1887+
{
1888+
rtw89_write32_set(rtwdev, R_AX_WMAC_NAV_CTL, B_AX_WMAC_PLCP_UP_NAV_EN |
1889+
B_AX_WMAC_TF_UP_NAV_EN |
1890+
B_AX_WMAC_NAV_UPPER_EN);
1891+
rtw89_write32_mask(rtwdev, R_AX_WMAC_NAV_CTL, B_AX_WMAC_NAV_UPPER_MASK, NAV_12MS);
1892+
1893+
return 0;
1894+
}
1895+
18861896
static int spatial_reuse_init(struct rtw89_dev *rtwdev, u8 mac_idx)
18871897
{
18881898
u32 reg;
@@ -2098,6 +2108,13 @@ static int cmac_init(struct rtw89_dev *rtwdev, u8 mac_idx)
20982108
return ret;
20992109
}
21002110

2111+
ret = nav_ctrl_init(rtwdev);
2112+
if (ret) {
2113+
rtw89_err(rtwdev, "[ERR]CMAC%d NAV CTRL init %d\n", mac_idx,
2114+
ret);
2115+
return ret;
2116+
}
2117+
21012118
ret = spatial_reuse_init(rtwdev, mac_idx);
21022119
if (ret) {
21032120
rtw89_err(rtwdev, "[ERR]CMAC%d Spatial Reuse init %d\n",

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1435,6 +1435,16 @@
14351435
#define R_AX_MAC_LOOPBACK_C1 0xEC20
14361436
#define B_AX_MACLBK_EN BIT(0)
14371437

1438+
#define R_AX_WMAC_NAV_CTL 0xCC80
1439+
#define R_AX_WMAC_NAV_CTL_C1 0xEC80
1440+
#define B_AX_WMAC_NAV_UPPER_EN BIT(26)
1441+
#define B_AX_WMAC_0P125US_TIMER_MASK GENMASK(25, 18)
1442+
#define B_AX_WMAC_PLCP_UP_NAV_EN BIT(17)
1443+
#define B_AX_WMAC_TF_UP_NAV_EN BIT(16)
1444+
#define B_AX_WMAC_NAV_UPPER_MASK GENMASK(15, 8)
1445+
#define NAV_12MS 0xBC
1446+
#define B_AX_WMAC_RTS_RST_DUR_MASK GENMASK(7, 0)
1447+
14381448
#define R_AX_RXTRIG_TEST_USER_2 0xCCB0
14391449
#define R_AX_RXTRIG_TEST_USER_2_C1 0xECB0
14401450
#define B_AX_RXTRIG_MACID_MASK GENMASK(31, 24)

0 commit comments

Comments
 (0)