On 5/29/2025 4:11 AM, Roopni Devanathan wrote: > > > On 5/28/2025 11:41 PM, Jeff Johnson wrote: >> On 5/21/2025 10:33 PM, Roopni Devanathan wrote: >>> Add support to get the radio for which RTS threshold needs to be changed >>> from userspace. Pass on this radio index to underlying drivers as an >>> additional argument. >>> >>> A value of -1 indicates radio index is not mentioned and that the >>> configuration applies to all radio(s) of the wiphy. >>> >>> Signed-off-by: Roopni Devanathan <quic_rdevanat@xxxxxxxxxxx> >>> --- >>> drivers/net/wireless/ath/ar5523/ar5523.c | 3 ++- >>> drivers/net/wireless/ath/ath10k/mac.c | 5 ++-- >>> drivers/net/wireless/ath/ath11k/mac.c | 4 +++- >>> drivers/net/wireless/ath/ath12k/mac.c | 4 +++- >>> drivers/net/wireless/ath/ath9k/htc_drv_main.c | 3 ++- >>> drivers/net/wireless/ath/wcn36xx/main.c | 3 ++- >>> .../net/wireless/intel/iwlwifi/mld/mac80211.c | 3 ++- >>> .../net/wireless/intel/iwlwifi/mvm/mac80211.c | 3 ++- >>> drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 3 ++- >>> drivers/net/wireless/marvell/mwl8k.c | 3 ++- >>> .../net/wireless/mediatek/mt76/mt7615/main.c | 3 ++- >>> drivers/net/wireless/mediatek/mt76/mt76x02.h | 2 +- >>> .../net/wireless/mediatek/mt76/mt76x02_util.c | 2 +- >>> .../net/wireless/mediatek/mt76/mt7915/main.c | 3 ++- >>> .../net/wireless/mediatek/mt76/mt7921/main.c | 3 ++- >>> .../net/wireless/mediatek/mt76/mt7925/main.c | 3 ++- >>> .../net/wireless/mediatek/mt76/mt7996/main.c | 3 ++- >>> drivers/net/wireless/mediatek/mt7601u/main.c | 3 ++- >>> drivers/net/wireless/purelifi/plfxlc/mac.c | 3 ++- >>> .../net/wireless/ralink/rt2x00/rt2800lib.c | 2 +- >>> .../net/wireless/ralink/rt2x00/rt2800lib.h | 2 +- >>> drivers/net/wireless/realtek/rtl8xxxu/core.c | 3 ++- >>> drivers/net/wireless/realtek/rtw88/mac80211.c | 3 ++- >>> drivers/net/wireless/realtek/rtw89/mac80211.c | 3 ++- >>> drivers/net/wireless/rsi/rsi_91x_mac80211.c | 2 ++ >>> drivers/net/wireless/silabs/wfx/sta.c | 2 +- >>> drivers/net/wireless/silabs/wfx/sta.h | 2 +- >>> drivers/net/wireless/st/cw1200/sta.c | 2 +- >>> drivers/net/wireless/st/cw1200/sta.h | 2 +- >>> drivers/net/wireless/ti/wl1251/main.c | 3 ++- >>> drivers/net/wireless/ti/wlcore/main.c | 3 ++- >>> drivers/net/wireless/virtual/mac80211_hwsim.c | 4 +++- >> >> ... >> >>> diff --git a/include/net/mac80211.h b/include/net/mac80211.h >>> index 82617579d910..553bcfebe8cc 100644 >>> --- a/include/net/mac80211.h >>> +++ b/include/net/mac80211.h >>> @@ -4572,7 +4572,8 @@ struct ieee80211_ops { >>> struct ieee80211_key_conf *key, >>> struct ieee80211_key_seq *seq); >>> int (*set_frag_threshold)(struct ieee80211_hw *hw, u32 value); >>> - int (*set_rts_threshold)(struct ieee80211_hw *hw, u32 value); >>> + int (*set_rts_threshold)(struct ieee80211_hw *hw, int radio_id, >>> + u32 value); >>> int (*sta_add)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, >>> struct ieee80211_sta *sta); >>> int (*sta_remove)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, >> >> rather than have one patch that modifies the get_rts_threshold API, another >> that modifies the set_rts_threshold API, and future ones that will modify >> others, should we put these interface changes that affect all drivers in a >> single patch so that the individual driver maintainers only have to deal with >> this disruption once rather than for each attribute? >> >> that means enumerating all the attributes we want to maintain on a per-radio >> basis up front. do we have that list? >> >> /jeff > > From the cover letter, here's the list of potential per-radio attributes: > NL80211_ATTR_WIPHY_FREQ > NL80211_ATTR_WIPHY_ANTENNA_TX > NL80211_ATTR_WIPHY_ANTENNA_RX > NL80211_ATTR_WIPHY_RETRY_SHORT > NL80211_ATTR_WIPHY_RETRY_LONG > NL80211_ATTR_WIPHY_FRAG_THRESHOLD > NL80211_ATTR_WIPHY_RTS_THRESHOLD > NL80211_ATTR_WIPHY_COVERAGE_CLASS > NL80211_ATTR_WIPHY_DYN_AC > > If we are going to change the interfaces of all the handlers of these > attributes, I can assign a default radio_idx (-1) to all the APIs. Can I go > ahead implementing this? That makes sense to me. Johannes?