diff options
-rw-r--r-- | queue-6.12/wifi-rtw89-phy-add-dummy-c2h-event-handler-for-report-of-tas-power.patch | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/queue-6.12/wifi-rtw89-phy-add-dummy-c2h-event-handler-for-report-of-tas-power.patch b/queue-6.12/wifi-rtw89-phy-add-dummy-c2h-event-handler-for-report-of-tas-power.patch new file mode 100644 index 00000000000..72eb57c87e9 --- /dev/null +++ b/queue-6.12/wifi-rtw89-phy-add-dummy-c2h-event-handler-for-report-of-tas-power.patch @@ -0,0 +1,89 @@ +From 09489812013f9ff3850c3af9900c88012b8c1e5d Mon Sep 17 00:00:00 2001 +From: Ping-Ke Shih <pkshih@realtek.com> +Date: Mon, 9 Dec 2024 12:21:27 +0800 +Subject: wifi: rtw89: phy: add dummy C2H event handler for report of TAS power + +From: Ping-Ke Shih <pkshih@realtek.com> + +commit 09489812013f9ff3850c3af9900c88012b8c1e5d upstream. + +The newer firmware, lik RTL8852C version 0.27.111.0, will notify driver +report of TAS (Time Averaged SAR) power by new C2H events. This is to +assist in higher accurate calculation of TAS. + +For now, driver doesn't use the report yet, so add a dummy handler to +avoid it throws info like: + rtw89_8852ce 0000:03:00.0: c2h class 9 func 6 not support + +Also add "MAC" and "PHY" to the message to disambiguate the source of +C2H event. + +Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> +Link: https://patch.msgid.link/20241209042127.21424-1-pkshih@realtek.com +Signed-off-by: Zenm Chen <zenmchen@gmail.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + drivers/net/wireless/realtek/rtw89/mac.c | 4 ++-- + drivers/net/wireless/realtek/rtw89/phy.c | 10 ++++++++-- + drivers/net/wireless/realtek/rtw89/phy.h | 1 + + 3 files changed, 11 insertions(+), 4 deletions(-) + +--- a/drivers/net/wireless/realtek/rtw89/mac.c ++++ b/drivers/net/wireless/realtek/rtw89/mac.c +@@ -5513,11 +5513,11 @@ void rtw89_mac_c2h_handle(struct rtw89_d + case RTW89_MAC_C2H_CLASS_FWDBG: + return; + default: +- rtw89_info(rtwdev, "c2h class %d not support\n", class); ++ rtw89_info(rtwdev, "MAC c2h class %d not support\n", class); + return; + } + if (!handler) { +- rtw89_info(rtwdev, "c2h class %d func %d not support\n", class, ++ rtw89_info(rtwdev, "MAC c2h class %d func %d not support\n", class, + func); + return; + } +--- a/drivers/net/wireless/realtek/rtw89/phy.c ++++ b/drivers/net/wireless/realtek/rtw89/phy.c +@@ -3062,10 +3062,16 @@ rtw89_phy_c2h_rfk_report_state(struct rt + (int)(len - sizeof(report->hdr)), &report->state); + } + ++static void ++rtw89_phy_c2h_rfk_log_tas_pwr(struct rtw89_dev *rtwdev, struct sk_buff *c2h, u32 len) ++{ ++} ++ + static + void (* const rtw89_phy_c2h_rfk_report_handler[])(struct rtw89_dev *rtwdev, + struct sk_buff *c2h, u32 len) = { + [RTW89_PHY_C2H_RFK_REPORT_FUNC_STATE] = rtw89_phy_c2h_rfk_report_state, ++ [RTW89_PHY_C2H_RFK_LOG_TAS_PWR] = rtw89_phy_c2h_rfk_log_tas_pwr, + }; + + bool rtw89_phy_c2h_chk_atomic(struct rtw89_dev *rtwdev, u8 class, u8 func) +@@ -3119,11 +3125,11 @@ void rtw89_phy_c2h_handle(struct rtw89_d + return; + fallthrough; + default: +- rtw89_info(rtwdev, "c2h class %d not support\n", class); ++ rtw89_info(rtwdev, "PHY c2h class %d not support\n", class); + return; + } + if (!handler) { +- rtw89_info(rtwdev, "c2h class %d func %d not support\n", class, ++ rtw89_info(rtwdev, "PHY c2h class %d func %d not support\n", class, + func); + return; + } +--- a/drivers/net/wireless/realtek/rtw89/phy.h ++++ b/drivers/net/wireless/realtek/rtw89/phy.h +@@ -151,6 +151,7 @@ enum rtw89_phy_c2h_rfk_log_func { + + enum rtw89_phy_c2h_rfk_report_func { + RTW89_PHY_C2H_RFK_REPORT_FUNC_STATE = 0, ++ RTW89_PHY_C2H_RFK_LOG_TAS_PWR = 6, + }; + + enum rtw89_phy_c2h_dm_func { |