mbox series

[v6,0/8] wifi: cfg80211/mac80211: add DFS support for MLO

Message ID 20240906064426.2101315-1-quic_adisi@quicinc.com (mailing list archive)
Headers show
Series wifi: cfg80211/mac80211: add DFS support for MLO | expand

Message

Aditya Kumar Singh Sept. 6, 2024, 6:44 a.m. UTC
Currently, Dynamic Frequency Selection (DFS) and its related radar events
are supported only for non-MLO case where deflink (or link_id 0) is always
considered. However, with MLO in place, there is need to handle DFS in
per-link manner instead of always handling it on per device.

Add support to handle DFS interference related events per-link basis.

Aditya Kumar Singh (8):
  Revert "wifi: mac80211: move radar detect work to sdata"
  wifi: mac80211: remove label usage in
    ieee80211_start_radar_detection()
  wifi: trace: unlink rdev_end_cac trace event from wiphy_netdev_evt
    class
  wifi: cfg80211: move DFS related members to links[] in wireless_dev
  wifi: cfg80211: handle DFS per link
  wifi: mac80211: handle DFS per link
  wifi: cfg80211/mac80211: use proper link ID for DFS
  wifi: mac80211: handle ieee80211_radar_detected() for MLO
---
v6: * Rebased on ToT
    * No changes in 1-5 and 7.
    * used link instead of link_data in 6.
    * Used link to get conf.
    * Removed unnecessary typecast in patch 8 function
      ieee80211_radar_mark_chan_ctx_iterator().

v5: * No changes in 1-7.
    * Fixed sparse warning in 8.

v4: * Rebased on ToT
    * No other changes in [1-7]
    * Removed local linked list usage and refactored code to directly
      cancel and notify while iterating over radar detected channel
      context [8]

v3: * Rebased on ToT
    * 12-digit sha1 in [1/8]
    * moved trivial preparation patches on top.
    * changed radar detection handling logic in [8/8]
    * minor commit text changes in in [5/8], [6/8]
    * removed patch [v2 9/9]

v2: * No changes except patch [6/9].
    * In [6/9], removed usage of label and directly used return statements
---
 
 drivers/net/wireless/ath/ath10k/debug.c       |  4 +-
 drivers/net/wireless/ath/ath10k/mac.c         |  2 +-
 drivers/net/wireless/ath/ath10k/wmi.c         |  2 +-
 drivers/net/wireless/ath/ath11k/wmi.c         |  2 +-
 drivers/net/wireless/ath/ath12k/wmi.c         |  2 +-
 drivers/net/wireless/ath/ath9k/dfs.c          |  2 +-
 drivers/net/wireless/ath/ath9k/dfs_debug.c    |  2 +-
 drivers/net/wireless/marvell/mwifiex/11h.c    | 11 +--
 .../net/wireless/marvell/mwifiex/cfg80211.c   |  6 +-
 .../net/wireless/mediatek/mt76/mt7615/mcu.c   |  2 +-
 .../net/wireless/mediatek/mt76/mt76x02_dfs.c  |  4 +-
 .../net/wireless/mediatek/mt76/mt7915/mcu.c   |  2 +-
 .../net/wireless/mediatek/mt76/mt7996/mcu.c   |  2 +-
 .../net/wireless/quantenna/qtnfmac/cfg80211.c |  2 +-
 .../net/wireless/quantenna/qtnfmac/event.c    | 12 +--
 drivers/net/wireless/ti/wl18xx/event.c        |  2 +-
 drivers/net/wireless/virtual/mac80211_hwsim.c |  2 +-
 include/net/cfg80211.h                        | 25 +++---
 include/net/mac80211.h                        |  5 +-
 net/mac80211/cfg.c                            | 49 +++++++-----
 net/mac80211/chan.c                           |  1 +
 net/mac80211/ieee80211_i.h                    |  8 +-
 net/mac80211/iface.c                          |  8 +-
 net/mac80211/link.c                           | 12 +++
 net/mac80211/mlme.c                           | 13 +--
 net/mac80211/pm.c                             |  2 +-
 net/mac80211/scan.c                           |  6 +-
 net/mac80211/util.c                           | 80 ++++++++++++++-----
 net/wireless/ibss.c                           |  2 +-
 net/wireless/mesh.c                           |  2 +-
 net/wireless/mlme.c                           | 20 ++---
 net/wireless/nl80211.c                        | 33 +++++---
 net/wireless/rdev-ops.h                       | 13 +--
 net/wireless/reg.c                            | 19 +++--
 net/wireless/trace.h                          | 40 +++++++---
 35 files changed, 254 insertions(+), 145 deletions(-)


base-commit: 43b7724487109368363bb5cda034b3f600278d14