]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: rtw89: rfk: update RFK report format of IQK, DACK and TXGAPK
authorPing-Ke Shih <pkshih@realtek.com>
Fri, 23 Jan 2026 01:39:51 +0000 (09:39 +0800)
committerPing-Ke Shih <pkshih@realtek.com>
Wed, 28 Jan 2026 03:15:59 +0000 (11:15 +0800)
The report formats of IQK, DACK and TXGAPK are changed. Update them
accordingly.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260123013957.16418-6-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/fw.h
drivers/net/wireless/realtek/rtw89/phy.c

index 4fa982cbac497143e7d4b1863c0dcb4d385e95fe..e4dbcd899ddbabb4089a6757f239e3e1da671a31 100644 (file)
@@ -5005,12 +5005,16 @@ struct rtw89_c2h_rf_iqk_rpt_log {
        u8 rsvd;
        __le32 reload_cnt;
        __le32 iqk_fail_cnt;
+       __le32 rf_0x18[2];
        __le32 lok_idac[2];
        __le32 lok_vbuf[2];
-       __le32 rftxgain[2][4];
-       __le32 rfrxgain[2][4];
-       __le32 tx_xym[2][4];
-       __le32 rx_xym[2][4];
+       __le32 rftxgain[2][6];
+       __le32 rfrxgain[2][6];
+       __le32 tx_xym[2][6];
+       __le32 rx_xym[2][6];
+       __le32 rx_wb_xym[2][32];
+       bool is_radar;
+       u8 rsvd1[3];
 } __packed;
 
 struct rtw89_c2h_rf_dpk_rpt_log {
@@ -5053,6 +5057,7 @@ struct rtw89_c2h_rf_dack_rpt_log {
        u8 dack_fail;
        u8 wbdck_d[2];
        u8 rck_d;
+       u8 adgaink_ex_d;
 } __packed;
 
 struct rtw89_c2h_rf_rxdck_rpt_log {
@@ -5079,12 +5084,14 @@ struct rtw89_c2h_rf_txgapk_rpt_log {
        u8 is_txgapk_ok;
        u8 chk_id;
        u8 ver;
-       u8 rsv1;
+       u8 d_bnd_ok;
+       __le32 stage[2];
+       __le16 failcode[2];
+       u8 rsvd[4];
 } __packed;
 
 struct rtw89_c2h_rf_txiqk_rpt_log {
        u8 fw_txiqk_ver;
-       u8 rsvd;
        u8 iqk_band[2];
        u8 iqk_ch[2];
        u8 iqk_bw[2];
@@ -5093,13 +5100,14 @@ struct rtw89_c2h_rf_txiqk_rpt_log {
        bool txiqk_en;
        bool lok_en;
        bool lok_fail[2];
-       u8 rsvd2;
+       u8 rsvd[2];
        __le32 iqk_times;
        bool txiqk_nctldone[2];
-       u8 rsvd3[2];
+       u8 rsvd2[2];
        __le32 txgain[2][6];
        __le32 tx_iqc[2][6];
        __le32 tx_xym[2][6][14];
+       __le32 kidx[2];
 } __packed;
 
 struct rtw89_c2h_rf_cim3k_rpt_log {
index 11f45e30d76d18fc019101dedea1df231cd2bcdd..41a8ce3aaffc4c76ee472ffd490754b3c8865eee 100644 (file)
@@ -3512,6 +3512,8 @@ static void rtw89_phy_c2h_rfk_rpt_log(struct rtw89_dev *rtwdev,
                                    i, iqk->iqk_ch[i]);
                        rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK] iqk->iqk_bw[%d] = %x\n",
                                    i, iqk->iqk_bw[i]);
+                       rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK] iqk->rf_0x18[%d] = %x\n",
+                                   i, le32_to_cpu(iqk->rf_0x18[i]));
                        rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK] iqk->lok_idac[%d] = %x\n",
                                    i, le32_to_cpu(iqk->lok_idac[i]));
                        rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK] iqk->lok_vbuf[%d] = %x\n",
@@ -3520,22 +3522,30 @@ static void rtw89_phy_c2h_rfk_rpt_log(struct rtw89_dev *rtwdev,
                                    i, iqk->iqk_tx_fail[i]);
                        rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK] iqk->iqk_rx_fail[%d] = %x\n",
                                    i, iqk->iqk_rx_fail[i]);
-                       for (j = 0; j < 4; j++)
+                       for (j = 0; j < 6; j++)
                                rtw89_debug(rtwdev, RTW89_DBG_RFK,
                                            "[IQK] iqk->rftxgain[%d][%d] = %x\n",
                                            i, j, le32_to_cpu(iqk->rftxgain[i][j]));
-                       for (j = 0; j < 4; j++)
+                       for (j = 0; j < 6; j++)
                                rtw89_debug(rtwdev, RTW89_DBG_RFK,
                                            "[IQK] iqk->tx_xym[%d][%d] = %x\n",
                                            i, j, le32_to_cpu(iqk->tx_xym[i][j]));
-                       for (j = 0; j < 4; j++)
+                       for (j = 0; j < 6; j++)
                                rtw89_debug(rtwdev, RTW89_DBG_RFK,
                                            "[IQK] iqk->rfrxgain[%d][%d] = %x\n",
                                            i, j, le32_to_cpu(iqk->rfrxgain[i][j]));
-                       for (j = 0; j < 4; j++)
+                       for (j = 0; j < 6; j++)
                                rtw89_debug(rtwdev, RTW89_DBG_RFK,
                                            "[IQK] iqk->rx_xym[%d][%d] = %x\n",
                                            i, j, le32_to_cpu(iqk->rx_xym[i][j]));
+
+                       if (!iqk->iqk_xym_en)
+                               continue;
+
+                       for (j = 0; j < 32; j++)
+                               rtw89_debug(rtwdev, RTW89_DBG_RFK,
+                                           "[IQK] iqk->rx_wb_xym[%d][%d] = %x\n",
+                                           i, j, iqk->rx_wb_xym[i][j]);
                }
                return;
        case RTW89_PHY_C2H_RFK_LOG_FUNC_DPK:
@@ -3691,8 +3701,16 @@ static void rtw89_phy_c2h_rfk_rpt_log(struct rtw89_dev *rtwdev,
                            le32_to_cpu(txgapk->chk_cnt));
                rtw89_debug(rtwdev, RTW89_DBG_RFK, "[TXGAPK]rpt ver = 0x%x\n",
                            txgapk->ver);
-               rtw89_debug(rtwdev, RTW89_DBG_RFK, "[TXGAPK]rpt rsv1 = %d\n",
-                           txgapk->rsv1);
+               rtw89_debug(rtwdev, RTW89_DBG_RFK, "[TXGAPK]rpt d_bnd_ok = %d\n",
+                           txgapk->d_bnd_ok);
+               rtw89_debug(rtwdev, RTW89_DBG_RFK, "[TXGAPK]rpt stage[0] = 0x%x\n",
+                           le32_to_cpu(txgapk->stage[0]));
+               rtw89_debug(rtwdev, RTW89_DBG_RFK, "[TXGAPK]rpt stage[1] = 0x%x\n",
+                           le32_to_cpu(txgapk->stage[1]));
+               rtw89_debug(rtwdev, RTW89_DBG_RFK, "[TXGAPK]failcode[0] = 0x%x\n",
+                           le16_to_cpu(txgapk->failcode[0]));
+               rtw89_debug(rtwdev, RTW89_DBG_RFK, "[TXGAPK]failcode[1] = 0x%x\n",
+                           le16_to_cpu(txgapk->failcode[1]));
 
                rtw89_debug(rtwdev, RTW89_DBG_RFK, "[TXGAPK]rpt track_d[0] = %*ph\n",
                            (int)sizeof(txgapk->track_d[0]), txgapk->track_d[0]);