mbox series

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

Message ID 20240902064847.2506090-1-quic_adisi@quicinc.com
Headers show
Series wifi: cfg80211/mac80211: add DFS support for MLO | expand

Message

Aditya Kumar Singh Sept. 2, 2024, 6:48 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
---
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                           | 84 +++++++++++++++----
 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, 261 insertions(+), 142 deletions(-)


base-commit: 20361712880396e44ce80aaeec2d93d182035651