From: Ping-Ke Shih Date: Sat, 17 Jan 2026 04:41:55 +0000 (+0800) Subject: wifi: rtw89: mac: clear DTOP disable excluding CID7090 variant for RTL8922D X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9cc1a84c53d4fe9494ed13b3cdba0e23519342f3;p=thirdparty%2Fkernel%2Flinux.git 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 Link: https://patch.msgid.link/20260117044157.2392958-8-pkshih@realtek.com --- diff --git a/drivers/net/wireless/realtek/rtw89/mac_be.c b/drivers/net/wireless/realtek/rtw89/mac_be.c index 028fb63014eb7..20a9998e30121 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); }