linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] wifi: ath12k: add MLO DFS support
@ 2024-12-18  3:41 Aditya Kumar Singh
  2024-12-18  3:41 ` [PATCH 1/3] wifi: ath12k: rename CAC_RUNNING flag Aditya Kumar Singh
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Aditya Kumar Singh @ 2024-12-18  3:41 UTC (permalink / raw)
  To: Kalle Valo, Jeff Johnson
  Cc: linux-wireless, ath12k, linux-kernel, Aditya Kumar Singh

Patch 1 is fixing naming inconsistency in CAC_RUNNING flag.

Patch 2 is not directly related to MLO but fixing the CAC handling in
non-MLO cases as well.

Patch 3 is adding the MLO DFS support in ath12k.

---
Aditya Kumar Singh (3):
      wifi: ath12k: rename CAC_RUNNING flag
      wifi: ath12k: fix CAC running state during virtual interface start
      wifi: ath12k: handle radar detection with MLO

 drivers/net/wireless/ath/ath12k/core.h  |  2 +-
 drivers/net/wireless/ath/ath12k/dp_rx.c |  6 ++---
 drivers/net/wireless/ath/ath12k/mac.c   | 42 ++++++++++++++++++++++-----------
 drivers/net/wireless/ath/ath12k/mac.h   |  8 +++++++
 drivers/net/wireless/ath/ath12k/wmi.c   | 14 +++++++++--
 5 files changed, 52 insertions(+), 20 deletions(-)
---
base-commit: 9a448415ed0c46edeb9170091a03b620986ca0b2
change-id: 20241217-ath12k_mlo_dfs-5cf41703c456


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/3] wifi: ath12k: rename CAC_RUNNING flag
  2024-12-18  3:41 [PATCH 0/3] wifi: ath12k: add MLO DFS support Aditya Kumar Singh
@ 2024-12-18  3:41 ` Aditya Kumar Singh
  2024-12-19 13:27   ` Kalle Valo
  2024-12-18  3:41 ` [PATCH 2/3] wifi: ath12k: fix CAC running state during virtual interface start Aditya Kumar Singh
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: Aditya Kumar Singh @ 2024-12-18  3:41 UTC (permalink / raw)
  To: Kalle Valo, Jeff Johnson
  Cc: linux-wireless, ath12k, linux-kernel, Aditya Kumar Singh

Rename the flag ATH12K_CAC_RUNNING to ATH12K_FLAG_CAC_RUNNING to correct
the naming inconsistency in the enum ath12k_dev_flags.

No functionality changes.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1

Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
---
 drivers/net/wireless/ath/ath12k/core.h  | 2 +-
 drivers/net/wireless/ath/ath12k/dp_rx.c | 6 +++---
 drivers/net/wireless/ath/ath12k/mac.c   | 8 ++++----
 drivers/net/wireless/ath/ath12k/wmi.c   | 2 +-
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/net/wireless/ath/ath12k/core.h b/drivers/net/wireless/ath/ath12k/core.h
index ec61ad3d82c3bb9237cf327976e9f68e8c8f9cc7..f988c8b2490e699c29f3495dfc9fe4381574cc01 100644
--- a/drivers/net/wireless/ath/ath12k/core.h
+++ b/drivers/net/wireless/ath/ath12k/core.h
@@ -223,7 +223,7 @@ enum ath12k_hw_group_flags {
 };
 
 enum ath12k_dev_flags {
-	ATH12K_CAC_RUNNING,
+	ATH12K_FLAG_CAC_RUNNING,
 	ATH12K_FLAG_CRASH_FLUSH,
 	ATH12K_FLAG_RAW_MODE,
 	ATH12K_FLAG_HW_CRYPTO_DISABLED,
diff --git a/drivers/net/wireless/ath/ath12k/dp_rx.c b/drivers/net/wireless/ath/ath12k/dp_rx.c
index 5c5a3aae393be52a241c048c5a60c57d1f8cea92..dad35bfd83f6271253361c618534933e83e7f7fb 100644
--- a/drivers/net/wireless/ath/ath12k/dp_rx.c
+++ b/drivers/net/wireless/ath/ath12k/dp_rx.c
@@ -2632,7 +2632,7 @@ static void ath12k_dp_rx_process_received_packets(struct ath12k_base *ab,
 			continue;
 		}
 
-		if (test_bit(ATH12K_CAC_RUNNING, &ar->dev_flags)) {
+		if (test_bit(ATH12K_FLAG_CAC_RUNNING, &ar->dev_flags)) {
 			dev_kfree_skb_any(msdu);
 			continue;
 		}
@@ -3484,7 +3484,7 @@ ath12k_dp_process_rx_err_buf(struct ath12k *ar, struct hal_reo_dest_ring *desc,
 		goto exit;
 	}
 
-	if (test_bit(ATH12K_CAC_RUNNING, &ar->dev_flags)) {
+	if (test_bit(ATH12K_FLAG_CAC_RUNNING, &ar->dev_flags)) {
 		dev_kfree_skb_any(msdu);
 		goto exit;
 	}
@@ -4037,7 +4037,7 @@ int ath12k_dp_rx_process_wbm_err(struct ath12k_base *ab,
 			continue;
 		}
 
-		if (test_bit(ATH12K_CAC_RUNNING, &ar->dev_flags)) {
+		if (test_bit(ATH12K_FLAG_CAC_RUNNING, &ar->dev_flags)) {
 			dev_kfree_skb_any(msdu);
 			continue;
 		}
diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
index 186765fa95f5302b8188419cbf6073624413a774..c61b1519cc91c6a476e1510b4cf13f80c89a793a 100644
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -1323,8 +1323,8 @@ int ath12k_mac_vdev_stop(struct ath12k_link_vif *arvif)
 	ath12k_dbg(ar->ab, ATH12K_DBG_MAC, "vdev %pM stopped, vdev_id %d\n",
 		   ahvif->vif->addr, arvif->vdev_id);
 
-	if (test_bit(ATH12K_CAC_RUNNING, &ar->dev_flags)) {
-		clear_bit(ATH12K_CAC_RUNNING, &ar->dev_flags);
+	if (test_bit(ATH12K_FLAG_CAC_RUNNING, &ar->dev_flags)) {
+		clear_bit(ATH12K_FLAG_CAC_RUNNING, &ar->dev_flags);
 		ath12k_dbg(ar->ab, ATH12K_DBG_MAC, "CAC Stopped for vdev %d\n",
 			   arvif->vdev_id);
 	}
@@ -7463,7 +7463,7 @@ static void ath12k_mac_stop(struct ath12k *ar)
 		ath12k_err(ar->ab, "failed to clear rx_filter for monitor status ring: (%d)\n",
 			   ret);
 
-	clear_bit(ATH12K_CAC_RUNNING, &ar->dev_flags);
+	clear_bit(ATH12K_FLAG_CAC_RUNNING, &ar->dev_flags);
 
 	cancel_delayed_work_sync(&ar->scan.timeout);
 	wiphy_work_cancel(ath12k_ar_to_hw(ar)->wiphy, &ar->scan.vdev_clean_wk);
@@ -8782,7 +8782,7 @@ ath12k_mac_vdev_start_restart(struct ath12k_link_vif *arvif,
 	if (arvif->ahvif->vdev_type == WMI_VDEV_TYPE_AP &&
 	    chandef->chan->dfs_cac_ms &&
 	    chandef->chan->dfs_state == NL80211_DFS_USABLE) {
-		set_bit(ATH12K_CAC_RUNNING, &ar->dev_flags);
+		set_bit(ATH12K_FLAG_CAC_RUNNING, &ar->dev_flags);
 		ath12k_dbg(ab, ATH12K_DBG_MAC,
 			   "CAC Started in chan_freq %d for vdev %d\n",
 			   arg.freq, arg.vdev_id);
diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c
index 562b0615ed065d094f5d7709cafeb22c41f02d17..d0ae7f142c11ab4720bf95c0c95990ff40bd2815 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.c
+++ b/drivers/net/wireless/ath/ath12k/wmi.c
@@ -6212,7 +6212,7 @@ static void ath12k_mgmt_rx_event(struct ath12k_base *ab, struct sk_buff *skb)
 		goto exit;
 	}
 
-	if ((test_bit(ATH12K_CAC_RUNNING, &ar->dev_flags)) ||
+	if ((test_bit(ATH12K_FLAG_CAC_RUNNING, &ar->dev_flags)) ||
 	    (rx_ev.status & (WMI_RX_STATUS_ERR_DECRYPT |
 			     WMI_RX_STATUS_ERR_KEY_CACHE_MISS |
 			     WMI_RX_STATUS_ERR_CRC))) {

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/3] wifi: ath12k: fix CAC running state during virtual interface start
  2024-12-18  3:41 [PATCH 0/3] wifi: ath12k: add MLO DFS support Aditya Kumar Singh
  2024-12-18  3:41 ` [PATCH 1/3] wifi: ath12k: rename CAC_RUNNING flag Aditya Kumar Singh
@ 2024-12-18  3:41 ` Aditya Kumar Singh
  2024-12-19 13:28   ` Kalle Valo
  2024-12-18  3:41 ` [PATCH 3/3] wifi: ath12k: handle radar detection with MLO Aditya Kumar Singh
  2025-01-08  0:32 ` [PATCH 0/3] wifi: ath12k: add MLO DFS support Jeff Johnson
  3 siblings, 1 reply; 8+ messages in thread
From: Aditya Kumar Singh @ 2024-12-18  3:41 UTC (permalink / raw)
  To: Kalle Valo, Jeff Johnson
  Cc: linux-wireless, ath12k, linux-kernel, Aditya Kumar Singh

Currently, the DFS CAC time and the usable state of the primary channel in
the channel definition are used to set the CAC_RUNNING flag for the ath12k
radio structure. However, this approach is flawed because there are channel
definitions where the primary channel is not a DFS channel, but the
secondary channel is. For example, in 5 GHz band, channel 36 with 160 MHz
bandwidth. In such cases, the flag is not set correctly and hence places
where this flag is tested will not operate as expected. For example, Rx
packets will not be dropped.

To fix this issue, use the cfg80211_chandef_dfs_usable() function from
cfg80211, which returns true if at least one channel is in a usable state.
This will ensure the CAC_RUNNING flag is set properly.

Additionally, update the CAC running debug log message to include the CAC
time in milliseconds and also print the center frequency segment 1.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1

Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
---
 drivers/net/wireless/ath/ath12k/mac.c | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
index c61b1519cc91c6a476e1510b4cf13f80c89a793a..77518546259248c356556b07ae0ae1df428d01dd 100644
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -5,6 +5,7 @@
  */
 
 #include <net/mac80211.h>
+#include <net/cfg80211.h>
 #include <linux/etherdevice.h>
 
 #include "mac.h"
@@ -8670,11 +8671,13 @@ ath12k_mac_vdev_start_restart(struct ath12k_link_vif *arvif,
 	struct ath12k_base *ab = ar->ab;
 	struct wmi_vdev_start_req_arg arg = {};
 	const struct cfg80211_chan_def *chandef = &ctx->def;
+	struct ieee80211_hw *hw = ath12k_ar_to_hw(ar);
 	struct ath12k_vif *ahvif = arvif->ahvif;
 	struct ieee80211_bss_conf *link_conf;
+	unsigned int dfs_cac_time;
 	int ret;
 
-	lockdep_assert_wiphy(ath12k_ar_to_hw(ar)->wiphy);
+	lockdep_assert_wiphy(hw->wiphy);
 
 	link_conf = ath12k_mac_get_link_bss_conf(arvif);
 	if (!link_conf) {
@@ -8772,20 +8775,20 @@ ath12k_mac_vdev_start_restart(struct ath12k_link_vif *arvif,
 	ath12k_dbg(ab, ATH12K_DBG_MAC,  "vdev %pM started, vdev_id %d\n",
 		   ahvif->vif->addr, arvif->vdev_id);
 
-	/* Enable CAC Flag in the driver by checking the channel DFS cac time,
-	 * i.e dfs_cac_ms value which will be valid only for radar channels
-	 * and state as NL80211_DFS_USABLE which indicates CAC needs to be
-	 * done before channel usage. This flags is used to drop rx packets.
+	/* Enable CAC Running Flag in the driver by checking all sub-channel's DFS
+	 * state as NL80211_DFS_USABLE which indicates CAC needs to be
+	 * done before channel usage. This flag is used to drop rx packets.
 	 * during CAC.
 	 */
 	/* TODO: Set the flag for other interface types as required */
-	if (arvif->ahvif->vdev_type == WMI_VDEV_TYPE_AP &&
-	    chandef->chan->dfs_cac_ms &&
-	    chandef->chan->dfs_state == NL80211_DFS_USABLE) {
+	if (arvif->ahvif->vdev_type == WMI_VDEV_TYPE_AP && ctx->radar_enabled &&
+	    cfg80211_chandef_dfs_usable(hw->wiphy, chandef)) {
 		set_bit(ATH12K_FLAG_CAC_RUNNING, &ar->dev_flags);
+		dfs_cac_time = cfg80211_chandef_dfs_cac_time(hw->wiphy, chandef);
+
 		ath12k_dbg(ab, ATH12K_DBG_MAC,
-			   "CAC Started in chan_freq %d for vdev %d\n",
-			   arg.freq, arg.vdev_id);
+			   "CAC started dfs_cac_time %u center_freq %d center_freq1 %d for vdev %d\n",
+			   dfs_cac_time, arg.freq, arg.band_center_freq1, arg.vdev_id);
 	}
 
 	ret = ath12k_mac_set_txbf_conf(arvif);

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 3/3] wifi: ath12k: handle radar detection with MLO
  2024-12-18  3:41 [PATCH 0/3] wifi: ath12k: add MLO DFS support Aditya Kumar Singh
  2024-12-18  3:41 ` [PATCH 1/3] wifi: ath12k: rename CAC_RUNNING flag Aditya Kumar Singh
  2024-12-18  3:41 ` [PATCH 2/3] wifi: ath12k: fix CAC running state during virtual interface start Aditya Kumar Singh
@ 2024-12-18  3:41 ` Aditya Kumar Singh
  2024-12-19 13:29   ` Kalle Valo
  2025-01-08  0:32 ` [PATCH 0/3] wifi: ath12k: add MLO DFS support Jeff Johnson
  3 siblings, 1 reply; 8+ messages in thread
From: Aditya Kumar Singh @ 2024-12-18  3:41 UTC (permalink / raw)
  To: Kalle Valo, Jeff Johnson
  Cc: linux-wireless, ath12k, linux-kernel, Aditya Kumar Singh

ieee80211_radar_detected() expects the driver to pass a channel context
configuration during MLO. This is used to identify exactly which link
detected the radar.

Add support to pass this to mac80211. Since the link arvif is not known in
the WMI event, introduce a helper iterator API,
ath12k_mac_get_any_chanctx_conf_iter(), to get the channel context
configuration.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1

Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
---
 drivers/net/wireless/ath/ath12k/mac.c | 11 +++++++++++
 drivers/net/wireless/ath/ath12k/mac.h |  8 ++++++++
 drivers/net/wireless/ath/ath12k/wmi.c | 12 +++++++++++-
 3 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
index 77518546259248c356556b07ae0ae1df428d01dd..4a4da9e9897a5b51b797ff12cd0022667fe96b67 100644
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -751,6 +751,17 @@ static struct ath12k *ath12k_get_ar_by_vif(struct ieee80211_hw *hw,
 	return NULL;
 }
 
+void ath12k_mac_get_any_chanctx_conf_iter(struct ieee80211_hw *hw,
+					  struct ieee80211_chanctx_conf *conf,
+					  void *data)
+{
+	struct ath12k_mac_get_any_chanctx_conf_arg *arg = data;
+	struct ath12k *ctx_ar = ath12k_get_ar_by_ctx(hw, conf);
+
+	if (ctx_ar == arg->ar)
+		arg->chanctx_conf = conf;
+}
+
 static struct ath12k_link_vif *ath12k_mac_get_vif_up(struct ath12k *ar)
 {
 	struct ath12k_link_vif *arvif;
diff --git a/drivers/net/wireless/ath/ath12k/mac.h b/drivers/net/wireless/ath/ath12k/mac.h
index 81cfb950e6cddfcf31747e46c7a9a805b94f55dd..3594729b63974e942b91eed0ebdfcabcb6a3c3a1 100644
--- a/drivers/net/wireless/ath/ath12k/mac.h
+++ b/drivers/net/wireless/ath/ath12k/mac.h
@@ -59,6 +59,11 @@ enum ath12k_supported_bw {
 	ATH12K_BW_320   = 4,
 };
 
+struct ath12k_mac_get_any_chanctx_conf_arg {
+	struct ath12k *ar;
+	struct ieee80211_chanctx_conf *chanctx_conf;
+};
+
 extern const struct htt_rx_ring_tlv_filter ath12k_mac_mon_status_filter_default;
 
 void ath12k_mac_destroy(struct ath12k_hw_group *ag);
@@ -100,5 +105,8 @@ int ath12k_mac_mlo_setup(struct ath12k_hw_group *ag);
 int ath12k_mac_mlo_ready(struct ath12k_hw_group *ag);
 void ath12k_mac_mlo_teardown(struct ath12k_hw_group *ag);
 int ath12k_mac_vdev_stop(struct ath12k_link_vif *arvif);
+void ath12k_mac_get_any_chanctx_conf_iter(struct ieee80211_hw *hw,
+					  struct ieee80211_chanctx_conf *conf,
+					  void *data);
 
 #endif
diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c
index d0ae7f142c11ab4720bf95c0c95990ff40bd2815..9a96c4d70e6007d3701af63278b23dd1a79cc4b1 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.c
+++ b/drivers/net/wireless/ath/ath12k/wmi.c
@@ -6935,6 +6935,7 @@ static void
 ath12k_wmi_pdev_dfs_radar_detected_event(struct ath12k_base *ab, struct sk_buff *skb)
 {
 	const void **tb;
+	struct ath12k_mac_get_any_chanctx_conf_arg arg;
 	const struct ath12k_wmi_pdev_radar_event *ev;
 	struct ath12k *ar;
 	int ret;
@@ -6970,13 +6971,22 @@ ath12k_wmi_pdev_dfs_radar_detected_event(struct ath12k_base *ab, struct sk_buff
 		goto exit;
 	}
 
+	arg.ar = ar;
+	arg.chanctx_conf = NULL;
+	ieee80211_iter_chan_contexts_atomic(ath12k_ar_to_hw(ar),
+					    ath12k_mac_get_any_chanctx_conf_iter, &arg);
+	if (!arg.chanctx_conf) {
+		ath12k_warn(ab, "failed to find valid chanctx_conf in radar detected event\n");
+		goto exit;
+	}
+
 	ath12k_dbg(ar->ab, ATH12K_DBG_REG, "DFS Radar Detected in pdev %d\n",
 		   ev->pdev_id);
 
 	if (ar->dfs_block_radar_events)
 		ath12k_info(ab, "DFS Radar detected, but ignored as requested\n");
 	else
-		ieee80211_radar_detected(ath12k_ar_to_hw(ar), NULL);
+		ieee80211_radar_detected(ath12k_ar_to_hw(ar), arg.chanctx_conf);
 
 exit:
 	rcu_read_unlock();

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/3] wifi: ath12k: rename CAC_RUNNING flag
  2024-12-18  3:41 ` [PATCH 1/3] wifi: ath12k: rename CAC_RUNNING flag Aditya Kumar Singh
@ 2024-12-19 13:27   ` Kalle Valo
  0 siblings, 0 replies; 8+ messages in thread
From: Kalle Valo @ 2024-12-19 13:27 UTC (permalink / raw)
  To: Aditya Kumar Singh; +Cc: Jeff Johnson, linux-wireless, ath12k, linux-kernel

Aditya Kumar Singh <quic_adisi@quicinc.com> writes:

> Rename the flag ATH12K_CAC_RUNNING to ATH12K_FLAG_CAC_RUNNING to correct
> the naming inconsistency in the enum ath12k_dev_flags.
>
> No functionality changes.
>
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
>
> Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>

Acked-by: Kalle Valo <kvalo@kernel.org>

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/3] wifi: ath12k: fix CAC running state during virtual interface start
  2024-12-18  3:41 ` [PATCH 2/3] wifi: ath12k: fix CAC running state during virtual interface start Aditya Kumar Singh
@ 2024-12-19 13:28   ` Kalle Valo
  0 siblings, 0 replies; 8+ messages in thread
From: Kalle Valo @ 2024-12-19 13:28 UTC (permalink / raw)
  To: Aditya Kumar Singh; +Cc: Jeff Johnson, linux-wireless, ath12k, linux-kernel

Aditya Kumar Singh <quic_adisi@quicinc.com> writes:

> Currently, the DFS CAC time and the usable state of the primary channel in
> the channel definition are used to set the CAC_RUNNING flag for the ath12k
> radio structure. However, this approach is flawed because there are channel
> definitions where the primary channel is not a DFS channel, but the
> secondary channel is. For example, in 5 GHz band, channel 36 with 160 MHz
> bandwidth. In such cases, the flag is not set correctly and hence places
> where this flag is tested will not operate as expected. For example, Rx
> packets will not be dropped.
>
> To fix this issue, use the cfg80211_chandef_dfs_usable() function from
> cfg80211, which returns true if at least one channel is in a usable state.
> This will ensure the CAC_RUNNING flag is set properly.
>
> Additionally, update the CAC running debug log message to include the CAC
> time in milliseconds and also print the center frequency segment 1.
>
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
>
> Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>

Acked-by: Kalle Valo <kvalo@kernel.org>

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 3/3] wifi: ath12k: handle radar detection with MLO
  2024-12-18  3:41 ` [PATCH 3/3] wifi: ath12k: handle radar detection with MLO Aditya Kumar Singh
@ 2024-12-19 13:29   ` Kalle Valo
  0 siblings, 0 replies; 8+ messages in thread
From: Kalle Valo @ 2024-12-19 13:29 UTC (permalink / raw)
  To: Aditya Kumar Singh; +Cc: Jeff Johnson, linux-wireless, ath12k, linux-kernel

Aditya Kumar Singh <quic_adisi@quicinc.com> writes:

> ieee80211_radar_detected() expects the driver to pass a channel context
> configuration during MLO. This is used to identify exactly which link
> detected the radar.
>
> Add support to pass this to mac80211. Since the link arvif is not known in
> the WMI event, introduce a helper iterator API,
> ath12k_mac_get_any_chanctx_conf_iter(), to get the channel context
> configuration.
>
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
>
> Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>

Acked-by: Kalle Valo <kvalo@kernel.org>

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/3] wifi: ath12k: add MLO DFS support
  2024-12-18  3:41 [PATCH 0/3] wifi: ath12k: add MLO DFS support Aditya Kumar Singh
                   ` (2 preceding siblings ...)
  2024-12-18  3:41 ` [PATCH 3/3] wifi: ath12k: handle radar detection with MLO Aditya Kumar Singh
@ 2025-01-08  0:32 ` Jeff Johnson
  3 siblings, 0 replies; 8+ messages in thread
From: Jeff Johnson @ 2025-01-08  0:32 UTC (permalink / raw)
  To: Kalle Valo, Jeff Johnson, Aditya Kumar Singh
  Cc: linux-wireless, ath12k, linux-kernel


On Wed, 18 Dec 2024 09:11:31 +0530, Aditya Kumar Singh wrote:
> Patch 1 is fixing naming inconsistency in CAC_RUNNING flag.
> 
> Patch 2 is not directly related to MLO but fixing the CAC handling in
> non-MLO cases as well.
> 
> Patch 3 is adding the MLO DFS support in ath12k.
> 
> [...]

Applied, thanks!

[1/3] wifi: ath12k: rename CAC_RUNNING flag
      commit: d31241cbd9c5d74eb19192e57806e9c9ee3378f7
[2/3] wifi: ath12k: fix CAC running state during virtual interface start
      commit: 11b86e2ce94278332af8da9c0b560a15c17efd26
[3/3] wifi: ath12k: handle radar detection with MLO
      commit: 40562e84e262dcc1c7226a0094761f6b5eec8153

Best regards,
-- 
Jeff Johnson <jeff.johnson@oss.qualcomm.com>


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-01-08  0:32 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-18  3:41 [PATCH 0/3] wifi: ath12k: add MLO DFS support Aditya Kumar Singh
2024-12-18  3:41 ` [PATCH 1/3] wifi: ath12k: rename CAC_RUNNING flag Aditya Kumar Singh
2024-12-19 13:27   ` Kalle Valo
2024-12-18  3:41 ` [PATCH 2/3] wifi: ath12k: fix CAC running state during virtual interface start Aditya Kumar Singh
2024-12-19 13:28   ` Kalle Valo
2024-12-18  3:41 ` [PATCH 3/3] wifi: ath12k: handle radar detection with MLO Aditya Kumar Singh
2024-12-19 13:29   ` Kalle Valo
2025-01-08  0:32 ` [PATCH 0/3] wifi: ath12k: add MLO DFS support Jeff Johnson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).