]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: rtw89: provide TX reports for management frames
authorFedor Pchelkin <pchelkin@ispras.ru>
Tue, 4 Nov 2025 13:57:16 +0000 (16:57 +0300)
committerPing-Ke Shih <pkshih@realtek.com>
Thu, 6 Nov 2025 06:33:56 +0000 (14:33 +0800)
In order to provide TX reports for the management queue rtw89 should
configure the firmware.  Do this with SET_CMC_TBL_MGQ_RPT_EN() for the
WiFi6 chips and with CCTLINFO_G7_W0_MGQ_RPT_EN flag for the WiFi7 ones.

Suggested-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Fedor Pchelkin <pchelkin@ispras.ru>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20251104135720.321110-10-pchelkin@ispras.ru
drivers/net/wireless/realtek/rtw89/fw.c

index cb431c8a65acdc153fe8f925d474fcd5463d9479..96f0463e66d62407e9f9b177c2253d4be58dbf26 100644 (file)
@@ -3165,6 +3165,7 @@ int rtw89_fw_h2c_default_cmac_tbl(struct rtw89_dev *rtwdev,
                SET_CMC_TBL_ANTSEL_C(skb->data, 0);
                SET_CMC_TBL_ANTSEL_D(skb->data, 0);
        }
+       SET_CMC_TBL_MGQ_RPT_EN(skb->data, rtwdev->hci.tx_rpt_enabled);
        SET_CMC_TBL_DOPPLER_CTRL(skb->data, 0);
        SET_CMC_TBL_TXPWR_TOLERENCE(skb->data, 0);
        if (rtwvif_link->net_type == RTW89_NET_TYPE_AP_MODE)
@@ -3210,7 +3211,8 @@ int rtw89_fw_h2c_default_cmac_tbl_g7(struct rtw89_dev *rtwdev,
        h2c->c0 = le32_encode_bits(mac_id, CCTLINFO_G7_C0_MACID) |
                  le32_encode_bits(1, CCTLINFO_G7_C0_OP);
 
-       h2c->w0 = le32_encode_bits(4, CCTLINFO_G7_W0_DATARATE);
+       h2c->w0 = le32_encode_bits(4, CCTLINFO_G7_W0_DATARATE) |
+                 le32_encode_bits(rtwdev->hci.tx_rpt_enabled, CCTLINFO_G7_W0_MGQ_RPT_EN);
        h2c->m0 = cpu_to_le32(CCTLINFO_G7_W0_ALL);
 
        h2c->w1 = le32_encode_bits(4, CCTLINFO_G7_W1_DATA_RTY_LOWEST_RATE) |