Skip to content

Commit 9fb4862

Browse files
Ping-Ke ShihKalle Valo
authored andcommitted
rtw89: update ptcl_init
ptcl_init, standing for protocol initialization, is updated to the latest version. 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-17-pkshih@realtek.com
1 parent 75fd91a commit 9fb4862

File tree

2 files changed

+39
-5
lines changed

2 files changed

+39
-5
lines changed

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

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2065,6 +2065,8 @@ static int ptcl_init(struct rtw89_dev *rtwdev, u8 mac_idx)
20652065
val = rtw89_read32(rtwdev, reg);
20662066
val = u32_replace_bits(val, S_AX_CTS2S_TH_1K,
20672067
B_AX_HW_CTS2SELF_PKT_LEN_TH_MASK);
2068+
val = u32_replace_bits(val, S_AX_CTS2S_TH_SEC_256B,
2069+
B_AX_HW_CTS2SELF_PKT_LEN_TH_TWW_MASK);
20682070
val |= B_AX_HW_CTS2SELF_EN;
20692071
rtw89_write32(rtwdev, reg, val);
20702072

@@ -2075,11 +2077,19 @@ static int ptcl_init(struct rtw89_dev *rtwdev, u8 mac_idx)
20752077
rtw89_write32(rtwdev, reg, val);
20762078
}
20772079

2078-
reg = rtw89_mac_reg_by_idx(R_AX_SIFS_SETTING, mac_idx);
2079-
val = rtw89_read32(rtwdev, reg);
2080-
val = u32_replace_bits(val, S_AX_CTS2S_TH_SEC_256B, B_AX_HW_CTS2SELF_PKT_LEN_TH_TWW_MASK);
2081-
val |= B_AX_HW_CTS2SELF_EN;
2082-
rtw89_write32(rtwdev, reg, val);
2080+
if (mac_idx == RTW89_MAC_0) {
2081+
rtw89_write8_set(rtwdev, R_AX_PTCL_COMMON_SETTING_0,
2082+
B_AX_CMAC_TX_MODE_0 | B_AX_CMAC_TX_MODE_1);
2083+
rtw89_write8_clr(rtwdev, R_AX_PTCL_COMMON_SETTING_0,
2084+
B_AX_PTCL_TRIGGER_SS_EN_0 |
2085+
B_AX_PTCL_TRIGGER_SS_EN_1 |
2086+
B_AX_PTCL_TRIGGER_SS_EN_UL);
2087+
rtw89_write8_mask(rtwdev, R_AX_PTCLRPT_FULL_HDL,
2088+
B_AX_SPE_RPT_PATH_MASK, FWD_TO_WLCPU);
2089+
} else if (mac_idx == RTW89_MAC_1) {
2090+
rtw89_write8_mask(rtwdev, R_AX_PTCLRPT_FULL_HDL_C1,
2091+
B_AX_SPE_RPT_PATH_MASK, FWD_TO_WLCPU);
2092+
}
20832093

20842094
return 0;
20852095
}

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

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1248,6 +1248,18 @@
12481248
#define R_AX_PORT_HGQ_WINDOW_CFG 0xC5A0
12491249
#define R_AX_PORT_HGQ_WINDOW_CFG_C1 0xE5A0
12501250

1251+
#define R_AX_PTCL_COMMON_SETTING_0 0xC600
1252+
#define R_AX_PTCL_COMMON_SETTING_0_C1 0xE600
1253+
#define B_AX_PCIE_MODE_MASK GENMASK(15, 14)
1254+
#define B_AX_CPUMGQ_LIFETIME_EN BIT(8)
1255+
#define B_AX_MGQ_LIFETIME_EN BIT(7)
1256+
#define B_AX_LIFETIME_EN BIT(6)
1257+
#define B_AX_PTCL_TRIGGER_SS_EN_UL BIT(4)
1258+
#define B_AX_PTCL_TRIGGER_SS_EN_1 BIT(3)
1259+
#define B_AX_PTCL_TRIGGER_SS_EN_0 BIT(2)
1260+
#define B_AX_CMAC_TX_MODE_1 BIT(1)
1261+
#define B_AX_CMAC_TX_MODE_0 BIT(0)
1262+
12511263
#define R_AX_AMPDU_AGG_LIMIT 0xC610
12521264
#define B_AX_AMPDU_MAX_TIME_MASK GENMASK(31, 24)
12531265
#define B_AX_RA_TRY_RATE_AGG_LMT_MASK GENMASK(23, 16)
@@ -1292,6 +1304,18 @@
12921304
#define B_AX_PORT_DROP_4_0_MASK GENMASK(20, 16)
12931305
#define B_AX_MBSSID_DROP_15_0_MASK GENMASK(15, 0)
12941306

1307+
#define R_AX_PTCLRPT_FULL_HDL 0xC660
1308+
#define R_AX_PTCLRPT_FULL_HDL_C1 0xE660
1309+
#define B_AX_RPT_LATCH_PHY_TIME_MASK GENMASK(15, 12)
1310+
#define B_AX_F2PCMD_FWWD_RLS_MODE BIT(9)
1311+
#define B_AX_F2PCMD_RPT_EN BIT(8)
1312+
#define B_AX_BCN_RPT_PATH_MASK GENMASK(7, 6)
1313+
#define B_AX_SPE_RPT_PATH_MASK GENMASK(5, 4)
1314+
#define FWD_TO_WLCPU 1
1315+
#define B_AX_TX_RPT_PATH_MASK GENMASK(3, 2)
1316+
#define B_AX_F2PCMDRPT_FULL_DROP BIT(1)
1317+
#define B_AX_NON_F2PCMDRPT_FULL_DROP BIT(0)
1318+
12951319
#define R_AX_BT_PLT 0xC67C
12961320
#define R_AX_BT_PLT_C1 0xE67C
12971321
#define B_AX_BT_PLT_PKT_CNT_MASK GENMASK(31, 16)

0 commit comments

Comments
 (0)