[PATCH v3 03/10] wifi: cfg80211: extend interface combination check for multi-radio

Karthikeyan Periyasamy quic_periyasa at quicinc.com
Mon Jul 1 08:23:54 PDT 2024



On 7/1/2024 7:43 PM, Felix Fietkau wrote:
> Add a field in struct iface_combination_params to check per-radio
> interface combinations instead of per-wiphy ones.
> 
> Signed-off-by: Felix Fietkau <nbd at nbd.name>
> ---
>   include/net/cfg80211.h  |  5 +++++
>   net/mac80211/util.c     |  5 ++++-
>   net/wireless/rdev-ops.h | 12 ++++++++++++
>   net/wireless/util.c     | 33 ++++++++++++++++++++++++++-------
>   4 files changed, 47 insertions(+), 8 deletions(-)
> 
> diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
> index a3cdad3a9305..bb3b803e5468 100644
> --- a/include/net/cfg80211.h
> +++ b/include/net/cfg80211.h
> @@ -1598,6 +1598,7 @@ struct cfg80211_color_change_settings {
>    *
>    * Used to pass interface combination parameters
>    *
> + * @radio_idx: wiphy radio index or -1 for global
>    * @num_different_channels: the number of different channels we want
>    *	to use for verification
>    * @radar_detect: a bitmap where each bit corresponds to a channel
> @@ -1611,6 +1612,7 @@ struct cfg80211_color_change_settings {
>    *	the verification
>    */
>   struct iface_combination_params {
> +	int radio_idx;
>   	int num_different_channels;
>   	u8 radar_detect;
>   	int iftype_num[NUM_NL80211_IFTYPES];
> @@ -4580,6 +4582,8 @@ struct mgmt_frame_regs {
>    *
>    * @set_hw_timestamp: Enable/disable HW timestamping of TM/FTM frames.
>    * @set_ttlm: set the TID to link mapping.
> + * @get_radio_mask: get bitmask of radios in use.
> + *	(invoked with the wiphy mutex held)
>    */
>   struct cfg80211_ops {
>   	int	(*suspend)(struct wiphy *wiphy, struct cfg80211_wowlan *wow);
> @@ -4941,6 +4945,7 @@ struct cfg80211_ops {
>   				    struct cfg80211_set_hw_timestamp *hwts);
>   	int	(*set_ttlm)(struct wiphy *wiphy, struct net_device *dev,
>   			    struct cfg80211_ttlm_params *params);
> +	u32	(*get_radio_mask)(struct wiphy *wiphy, struct net_device *dev);
>   };
>   

No documentation for the global iface combination when multi-radio 
combination present ?

/* 4.  Radio specific iface combination...
  */
struct ieee80211_iface_combination {
...
};


-- 
Karthikeyan Periyasamy
--
கார்த்திகேயன் பெரியசாமி



More information about the ath12k mailing list