From f0e42c5a5ea3491be2d7c61c798dffe126eabd2b Mon Sep 17 00:00:00 2001
From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
Date: Wed, 5 Jul 2023 09:49:02 +0800
Subject: [PATCH 1004/1006] cfg80211: mtk: add support for updating background
 channel

Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
---
 include/net/cfg80211.h       | 14 ++++++++++++++
 include/uapi/linux/nl80211.h |  6 ++++++
 net/wireless/mlme.c          | 12 ++++++++++++
 3 files changed, 32 insertions(+)

diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 2c51c3e..46c477a 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -8444,6 +8444,20 @@ void cfg80211_sta_update_dfs_state(struct wireless_dev *wdev,
 				   const struct cfg80211_chan_def *csa_chandef,
 				   bool associated);
 
+/**
+ * cfg80211_background_radar_update_channel - notify background chandef has been updated
+ * @wiphy: the wiphy
+ * @chandef: the updated chandef
+ * @expand: whether or not the operating channel should expand its width
+ * after offchan CAC
+ *
+ * Update the background chandef based on driver's decision, and notify the userspace
+ * that the current channel of background chain should be updated.
+ */
+void cfg80211_background_radar_update_channel(struct wiphy *wiphy,
+					      const struct cfg80211_chan_def *chandef,
+					      bool expand);
+
 /**
  * cfg80211_background_cac_abort - Channel Availability Check offchan abort event
  * @wiphy: the wiphy
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index 60c6f79..6e96ad9 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -6671,6 +6671,10 @@ enum nl80211_smps_mode {
  *	applicable for ETSI dfs domain where pre-CAC is valid for ever.
  * @NL80211_RADAR_CAC_STARTED: Channel Availability Check has been started,
  *	should be generated by HW if NL80211_EXT_FEATURE_DFS_OFFLOAD is enabled.
+ * @NL80211_RADAR_BACKGROUND_CHAN_UPDATE: background channel is updated by the
+ *	driver.
+ * @NL80211_RADAR_BACKGROUND_CHAN_EXPAND: background channel is updated by the
+ *	driver and required to expand main operating channel.
  * @NL80211_RADAR_STA_CAC_SKIPPED: STA set the DFS state to available
  *	when receiving CSA/assoc resp
  * @NL80211_RADAR_STA_CAC_EXPIRED: STA set the DFS state to usable
@@ -6683,6 +6687,8 @@ enum nl80211_radar_event {
 	NL80211_RADAR_NOP_FINISHED,
 	NL80211_RADAR_PRE_CAC_EXPIRED,
 	NL80211_RADAR_CAC_STARTED,
+	NL80211_RADAR_BACKGROUND_CHAN_UPDATE,
+	NL80211_RADAR_BACKGROUND_CHAN_EXPAND,
 	NL80211_RADAR_STA_CAC_SKIPPED,
 	NL80211_RADAR_STA_CAC_EXPIRED,
 };
diff --git a/net/wireless/mlme.c b/net/wireless/mlme.c
index d345c72..5510d77 100644
--- a/net/wireless/mlme.c
+++ b/net/wireless/mlme.c
@@ -1158,6 +1158,18 @@ cfg80211_start_background_radar_detection(struct cfg80211_registered_device *rde
 	return 0;
 }
 
+void cfg80211_background_radar_update_channel(struct wiphy *wiphy,
+					      const struct cfg80211_chan_def *chandef,
+					      bool expand)
+{
+	enum nl80211_radar_event event;
+
+	event = expand ? NL80211_RADAR_BACKGROUND_CHAN_EXPAND :
+			 NL80211_RADAR_BACKGROUND_CHAN_UPDATE;
+	nl80211_radar_notify(wiphy_to_rdev(wiphy), chandef, event, NULL, GFP_ATOMIC);
+}
+EXPORT_SYMBOL(cfg80211_background_radar_update_channel);
+
 void cfg80211_stop_background_radar_detection(struct wireless_dev *wdev)
 {
 	struct wiphy *wiphy = wdev->wiphy;
-- 
2.39.2

