Search Linux Wireless

Re: [PATCH wireless-next v11 3/3] wifi: mac80211: Set RTS threshold on per-radio basis

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux