aboutsummaryrefslogtreecommitdiffstats
diff options
-rw-r--r--queue-6.12/wifi-rtw89-phy-add-dummy-c2h-event-handler-for-report-of-tas-power.patch89
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 {