summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPing-Ke Shih <pkshih@realtek.com>2026-01-17 07:41:55 +0300
committerPing-Ke Shih <pkshih@realtek.com>2026-01-22 05:16:17 +0300
commit9cc1a84c53d4fe9494ed13b3cdba0e23519342f3 (patch)
tree1dfe2f2107366b66b4f07dc25ace18c4549d6c48
parent5fe702e4b2cdb1aca4fc6e639b1bfbefd7905347 (diff)
downloadlinux-9cc1a84c53d4fe9494ed13b3cdba0e23519342f3.tar.xz
wifi: rtw89: mac: clear DTOP disable excluding CID7090 variant for RTL8922D
The data TX FIFO operation (DTOP) is a hardware component in TMAC circuit to control TX flow, since CID7090 variant can clear DTOP by default, no need it by driver. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20260117044157.2392958-8-pkshih@realtek.com
-rw-r--r--drivers/net/wireless/realtek/rtw89/mac_be.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/mac_be.c b/drivers/net/wireless/realtek/rtw89/mac_be.c
index 028fb63014eb..20a9998e3012 100644
--- a/drivers/net/wireless/realtek/rtw89/mac_be.c
+++ b/drivers/net/wireless/realtek/rtw89/mac_be.c
@@ -1352,6 +1352,7 @@ static int spatial_reuse_init_be(struct rtw89_dev *rtwdev, u8 mac_idx)
static int tmac_init_be(struct rtw89_dev *rtwdev, u8 mac_idx)
{
const struct rtw89_chip_info *chip = rtwdev->chip;
+ struct rtw89_hal *hal = &rtwdev->hal;
u32 reg;
reg = rtw89_mac_reg_by_idx(rtwdev, R_BE_TB_PPDU_CTRL, mac_idx);
@@ -1363,7 +1364,7 @@ static int tmac_init_be(struct rtw89_dev *rtwdev, u8 mac_idx)
rtw89_write32_mask(rtwdev, reg, B_BE_EHT_HE_PPDU_2XLTF_ZLD_USTIMER_MASK, 0xe);
}
- if (chip->chip_id == RTL8922D) {
+ if (chip->chip_id == RTL8922D && hal->cid != RTL8922D_CID7090) {
reg = rtw89_mac_reg_by_idx(rtwdev, R_BE_COMMON_PHYINTF_CTRL_0, mac_idx);
rtw89_write32_clr(rtwdev, reg, CLEAR_DTOP_DIS);
}