Search Linux Wireless

Re: [PATCH v6 1/3] wifi: cfg80211: allow userspace to enable driver control of MU-EDCA

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

 



On Mon, 2023-05-01 at 09:59 -0700, Muna Sinada wrote:
> Add option for user space to enable driver to dynamically update MU-EDCA
> parameters.
> 
> The updated MU-EDCA parameters from driver are part of an AP mode feature
> where firmware determines better MU-EDCA parameters based on channel
> conditions. The updated parameters are used and reported to user space
> to reflect in AP management frames. These dynamic parameter updates
> are offloaded to firmware for better user experience, thus details on
> algorithm are not provided. This is a driver specific feature, thus
> no spec references.
> 
> Signed-off-by: Muna Sinada <quic_msinada@xxxxxxxxxxx>
> ---
> v6: no change
> 
> v5: no change
> 
> v4: newly created patch in response to review comment to add opt in
>     for user for this feature
> ---
>  include/net/cfg80211.h       | 3 +++
>  include/uapi/linux/nl80211.h | 5 +++++
>  net/wireless/nl80211.c       | 5 +++++
>  3 files changed, 13 insertions(+)
> 
> diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
> index 9e04f69712b1..e56af095828e 100644
> --- a/include/net/cfg80211.h
> +++ b/include/net/cfg80211.h
> @@ -1359,6 +1359,8 @@ struct cfg80211_unsol_bcast_probe_resp {
>   * @punct_bitmap: Preamble puncturing bitmap. Each bit represents
>   *	a 20 MHz channel, lowest bit corresponding to the lowest channel.
>   *	Bit set to 1 indicates that the channel is punctured.
> + * @dyn_muedca_enable: enable/disable driver control of dynamically update
> + *     MU-EDCA parameters

please use tabs for indentation

>   */
>  struct cfg80211_ap_settings {
>  	struct cfg80211_chan_def chandef;
> @@ -1394,6 +1396,7 @@ struct cfg80211_ap_settings {
>  	struct cfg80211_unsol_bcast_probe_resp unsol_bcast_probe_resp;
>  	struct cfg80211_mbssid_config mbssid_config;
>  	u16 punct_bitmap;
> +	bool dyn_muedca_enable;
>  };
>  
>  /**
> diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
> index cf4fb981e131..e68169130e7e 100644
> --- a/include/uapi/linux/nl80211.h
> +++ b/include/uapi/linux/nl80211.h
> @@ -2805,6 +2805,9 @@ enum nl80211_commands {
>   *	index. If the userspace includes more RNR elements than number of
>   *	MBSSID elements then these will be added in every EMA beacon.
>   *
> + * @NL80211_ATTR_DYN_MUEDCA_ENABLE: Flag attribute to indicate user space has
> + *  enabled Driver control of dynamically updating MU-EDCA parameters.

dito

> @@ -6156,6 +6157,10 @@ static int nl80211_start_ap(struct sk_buff *skb, struct genl_info *info)
>  		goto out_unlock;
>  	}
>  
> +	if (info->attrs[NL80211_ATTR_DYN_MUEDCA_ENABLE])
> +		params->dyn_muedca_enable =
> +		     nla_get_flag(info->attrs[NL80211_ATTR_DYN_MUEDCA_ENABLE]);
> 

Should it be possible to dynamically change this configuration?


See also
https://patchwork.kernel.org/project/linux-wireless/patch/20230727174100.11721-4-quic_alokad@xxxxxxxxxxx/
where this gets used differently later. I'll look at that next. You're
both @quicinc so you can talk to each other I hope ;-)

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