]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: rtw89: rtw8852b{t}: fix TSSI debug timestamps
authorDmitry Antipov <dmantipov@yandex.ru>
Thu, 13 Feb 2025 09:50:06 +0000 (12:50 +0300)
committerPing-Ke Shih <pkshih@realtek.com>
Fri, 21 Feb 2025 01:29:31 +0000 (09:29 +0800)
Since the vendor driver is claimed to measure 'tssi_alimk_time' of
'struct rtw89_tssi_info' in microseconds, adjust rtw8852b{t}-specific
'_tssi_alimentk()' to not mess the former with nanoseconds and print
both per-call and accumulated times. Compile tested only.

Fixes: 7f18a70d7b4d ("wifi: rtw89: 8852b: rfk: add TSSI")
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20250213095006.1308810-1-dmantipov@yandex.ru
drivers/net/wireless/realtek/rtw89/core.h
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c

index b3fdd8eded2108294dae50e3a33f6b9a721f39d8..eb2a6b90c9407b35da05c0ea388f679c974614a2 100644 (file)
@@ -5141,7 +5141,7 @@ struct rtw89_tssi_info {
        u32 alignment_backup_by_ch[RF_PATH_MAX][TSSI_MAX_CH_NUM][TSSI_ALIMK_VALUE_NUM];
        u32 alignment_value[RF_PATH_MAX][TSSI_ALIMK_MAX][TSSI_ALIMK_VALUE_NUM];
        bool alignment_done[RF_PATH_MAX][TSSI_ALIMK_MAX];
-       u32 tssi_alimk_time;
+       u64 tssi_alimk_time;
 };
 
 struct rtw89_power_trim_info {
index ef47a5facc8361432f8812118f8f3125422baeb8..fbf82d42687bace4fa40a556b7e19457752b1bf0 100644 (file)
@@ -3585,9 +3585,10 @@ static void _tssi_alimentk(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
        u8 ch_idx = _tssi_ch_to_idx(rtwdev, channel);
        struct rtw8852bx_bb_tssi_bak tssi_bak;
        s32 aliment_diff, tssi_cw_default;
-       u32 start_time, finish_time;
        u32 bb_reg_backup[8] = {0};
+       ktime_t start_time;
        const s16 *power;
+       s64 this_time;
        u8 band;
        bool ok;
        u32 tmp;
@@ -3613,7 +3614,7 @@ static void _tssi_alimentk(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
                return;
        }
 
-       start_time = ktime_get_ns();
+       start_time = ktime_get();
 
        if (chan->band_type == RTW89_BAND_2G)
                power = power_2g;
@@ -3738,12 +3739,12 @@ out:
        rtw8852bx_bb_restore_tssi(rtwdev, phy, &tssi_bak);
        rtw8852bx_bb_tx_mode_switch(rtwdev, phy, 0);
 
-       finish_time = ktime_get_ns();
-       tssi_info->tssi_alimk_time += finish_time - start_time;
+       this_time = ktime_us_delta(ktime_get(), start_time);
+       tssi_info->tssi_alimk_time += this_time;
 
        rtw89_debug(rtwdev, RTW89_DBG_RFK,
-                   "[TSSI PA K] %s processing time = %d ms\n", __func__,
-                   tssi_info->tssi_alimk_time);
+                   "[TSSI PA K] %s processing time = %lld us (acc = %llu us)\n",
+                   __func__, this_time, tssi_info->tssi_alimk_time);
 }
 
 void rtw8852b_dpk_init(struct rtw89_dev *rtwdev)
index 336a83e1d46be9333334edfc7fde4fb2284188cc..6e6889eea9a0d9cd05331de6554bcc13d8b5d1b1 100644 (file)
@@ -3663,9 +3663,10 @@ static void _tssi_alimentk(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
        u8 ch_idx = _tssi_ch_to_idx(rtwdev, channel);
        struct rtw8852bx_bb_tssi_bak tssi_bak;
        s32 aliment_diff, tssi_cw_default;
-       u32 start_time, finish_time;
        u32 bb_reg_backup[8] = {};
+       ktime_t start_time;
        const s16 *power;
+       s64 this_time;
        u8 band;
        bool ok;
        u32 tmp;
@@ -3675,7 +3676,7 @@ static void _tssi_alimentk(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
                    "======> %s   channel=%d   path=%d\n", __func__, channel,
                    path);
 
-       start_time = ktime_get_ns();
+       start_time = ktime_get();
 
        if (chan->band_type == RTW89_BAND_2G)
                power = power_2g;
@@ -3802,12 +3803,12 @@ out:
        rtw8852bx_bb_restore_tssi(rtwdev, phy, &tssi_bak);
        rtw8852bx_bb_tx_mode_switch(rtwdev, phy, 0);
 
-       finish_time = ktime_get_ns();
-       tssi_info->tssi_alimk_time += finish_time - start_time;
+       this_time = ktime_us_delta(ktime_get(), start_time);
+       tssi_info->tssi_alimk_time += this_time;
 
        rtw89_debug(rtwdev, RTW89_DBG_RFK,
-                   "[TSSI PA K] %s processing time = %d ms\n", __func__,
-                   tssi_info->tssi_alimk_time);
+                   "[TSSI PA K] %s processing time = %lld us (acc = %llu us)\n",
+                   __func__, this_time, tssi_info->tssi_alimk_time);
 }
 
 void rtw8852bt_dpk_init(struct rtw89_dev *rtwdev)