wifi: rtw89: rfk: update firmware debug log of DACK to v2
authorPing-Ke Shih <pkshih@realtek.com>
Fri, 13 Sep 2024 07:13:40 +0000 (15:13 +0800)
committerPing-Ke Shih <pkshih@realtek.com>
Fri, 20 Sep 2024 02:48:46 +0000 (10:48 +0800)
Update DACK (digital-to-analog converters calibration) log to v2 by
firmware C2H events.

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

index bbf62950182aee57649a0c81c196f77c58d575f0..5b8d83d90a4e4849f1e7b5b5efb917e5476b6bb6 100644 (file)
@@ -4375,19 +4375,25 @@ struct rtw89_c2h_rf_dpk_rpt_log {
 
 struct rtw89_c2h_rf_dack_rpt_log {
        u8 fwdack_ver;
-       u8 fwdack_rpt_ver;
+       u8 fwdack_info_ver;
        u8 msbk_d[2][2][16];
        u8 dadck_d[2][2];
        u8 cdack_d[2][2][2];
-       __le16 addck2_d[2][2][2];
+       u8 addck2_hd[2][2][2];
+       u8 addck2_ld[2][2][2];
        u8 adgaink_d[2][2];
-       __le16 biask_d[2][2];
+       u8 biask_hd[2][2];
+       u8 biask_ld[2][2];
        u8 addck_timeout;
        u8 cdack_timeout;
        u8 dadck_timeout;
        u8 msbk_timeout;
        u8 adgaink_timeout;
+       u8 wbadcdck_timeout;
+       u8 drck_timeout;
        u8 dack_fail;
+       u8 wbdck_d[2];
+       u8 rck_d;
 } __packed;
 
 struct rtw89_c2h_rf_rxdck_rpt_log {
index ae404ca4e2eeac1a43d7c9761e07992ad31b50fa..87719b22381d02126e55be81b4db8405ee901e93 100644 (file)
@@ -2792,8 +2792,23 @@ static void rtw89_phy_c2h_rfk_rpt_log(struct rtw89_dev *rtwdev,
 
                dack = content;
 
-               rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]ver=0x%x 0x%x\n",
-                           dack->fwdack_ver, dack->fwdack_rpt_ver);
+               rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]FWDACK SUMMARY!!!!!\n");
+               rtw89_debug(rtwdev, RTW89_DBG_RFK,
+                           "[DACK]FWDACK ver = 0x%x, FWDACK rpt_ver = 0x%x, driver rpt_ver = 0x%x\n",
+                           dack->fwdack_ver, dack->fwdack_info_ver, 0x2);
+
+               rtw89_debug(rtwdev, RTW89_DBG_RFK,
+                           "[DACK]timeout code = [0x%x 0x%x 0x%x 0x%x 0x%x]\n",
+                           dack->addck_timeout, dack->cdack_timeout, dack->dadck_timeout,
+                           dack->adgaink_timeout, dack->msbk_timeout);
+               rtw89_debug(rtwdev, RTW89_DBG_RFK,
+                           "[DACK]DACK fail = 0x%x\n", dack->dack_fail);
+               rtw89_debug(rtwdev, RTW89_DBG_RFK,
+                           "[DACK]S0 WBADCK = [0x%x]\n", dack->wbdck_d[0]);
+               rtw89_debug(rtwdev, RTW89_DBG_RFK,
+                           "[DACK]S1 WBADCK = [0x%x]\n", dack->wbdck_d[1]);
+               rtw89_debug(rtwdev, RTW89_DBG_RFK,
+                           "[DACK]DRCK = [0x%x]\n", dack->rck_d);
                rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]S0 CDACK ic = [0x%x, 0x%x]\n",
                            dack->cdack_d[0][0][0], dack->cdack_d[0][0][1]);
                rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]S0 CDACK qc = [0x%x, 0x%x]\n",
@@ -2804,13 +2819,17 @@ static void rtw89_phy_c2h_rfk_rpt_log(struct rtw89_dev *rtwdev,
                            dack->cdack_d[1][1][0], dack->cdack_d[1][1][1]);
 
                rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]S0 ADC_DCK ic = [0x%x, 0x%x]\n",
-                           dack->addck2_d[0][0][0], dack->addck2_d[0][0][1]);
+                           ((u32)dack->addck2_hd[0][0][0] << 8) | dack->addck2_ld[0][0][0],
+                           ((u32)dack->addck2_hd[0][0][1] << 8) | dack->addck2_ld[0][0][1]);
                rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]S0 ADC_DCK qc = [0x%x, 0x%x]\n",
-                           dack->addck2_d[0][1][0], dack->addck2_d[0][1][1]);
+                           ((u32)dack->addck2_hd[0][1][0] << 8) | dack->addck2_ld[0][1][0],
+                           ((u32)dack->addck2_hd[0][1][1] << 8) | dack->addck2_ld[0][1][1]);
                rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]S1 ADC_DCK ic = [0x%x, 0x%x]\n",
-                           dack->addck2_d[1][0][0], dack->addck2_d[1][0][1]);
+                           ((u32)dack->addck2_hd[1][0][0] << 8) | dack->addck2_ld[1][0][0],
+                           ((u32)dack->addck2_hd[1][0][1] << 8) | dack->addck2_ld[1][0][1]);
                rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]S1 ADC_DCK qc = [0x%x, 0x%x]\n",
-                           dack->addck2_d[1][1][0], dack->addck2_d[1][1][1]);
+                           ((u32)dack->addck2_hd[1][1][0] << 8) | dack->addck2_ld[1][1][0],
+                           ((u32)dack->addck2_hd[1][1][1] << 8) | dack->addck2_ld[1][1][1]);
 
                rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]S0 ADC_GAINK ic = 0x%x, qc = 0x%x\n",
                            dack->adgaink_d[0][0], dack->adgaink_d[0][1]);
@@ -2823,18 +2842,29 @@ static void rtw89_phy_c2h_rfk_rpt_log(struct rtw89_dev *rtwdev,
                            dack->dadck_d[1][0], dack->dadck_d[1][1]);
 
                rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]S0 biask iqc = 0x%x\n",
-                           dack->biask_d[0][0]);
+                           ((u32)dack->biask_hd[0][0] << 8) | dack->biask_ld[0][0]);
                rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]S1 biask iqc = 0x%x\n",
-                           dack->biask_d[1][0]);
-
-               rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]S0 MSBK ic: %*ph\n",
-                           (int)sizeof(dack->msbk_d[0][0]), dack->msbk_d[0][0]);
-               rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]S0 MSBK qc: %*ph\n",
-                           (int)sizeof(dack->msbk_d[0][1]), dack->msbk_d[0][1]);
-               rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]S1 MSBK ic: %*ph\n",
-                           (int)sizeof(dack->msbk_d[1][0]), dack->msbk_d[1][0]);
-               rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]S1 MSBK qc: %*ph\n",
-                           (int)sizeof(dack->msbk_d[1][1]), dack->msbk_d[1][1]);
+                           ((u32)dack->biask_hd[1][0] << 8) | dack->biask_ld[1][0]);
+
+               rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]S0 MSBK ic:\n");
+               for (i = 0; i < 0x10; i++)
+                       rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]0x%x\n",
+                                   dack->msbk_d[0][0][i]);
+
+               rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]S0 MSBK qc:\n");
+               for (i = 0; i < 0x10; i++)
+                       rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]0x%x\n",
+                                   dack->msbk_d[0][1][i]);
+
+               rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]S1 MSBK ic:\n");
+               for (i = 0; i < 0x10; i++)
+                       rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]0x%x\n",
+                                   dack->msbk_d[1][0][i]);
+
+               rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]S1 MSBK qc:\n");
+               for (i = 0; i < 0x10; i++)
+                       rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DACK]0x%x\n",
+                                   dack->msbk_d[1][1][i]);
                return;
        case RTW89_PHY_C2H_RFK_LOG_FUNC_RXDCK:
                if (len != sizeof(*rxdck))