diff mbox series

[V4,01/10] wifi: mac80211: Add EHT UL MU-MIMO flag in ieee80211_bss_conf

Message ID 20240508002055.17705-2-quic_pradeepc@quicinc.com (mailing list archive)
State Superseded
Delegated to: Johannes Berg
Headers show
Series wifi: ath12k: add MU-MIMO and 160 MHz bandwidth support | expand

Commit Message

Pradeep Kumar Chitrapu May 8, 2024, 12:20 a.m. UTC
Add flag for Full Bandwidth UL MU-MIMO for EHT. This is utilized
to pass EHT MU-MIMO configurations from user space to driver.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1

Signed-off-by: Pradeep Kumar Chitrapu <quic_pradeepc@quicinc.com>
---
 include/net/mac80211.h | 4 ++++
 net/mac80211/cfg.c     | 5 +++++
 2 files changed, 9 insertions(+)

Comments

Jeff Johnson May 13, 2024, 8:49 p.m. UTC | #1
On 5/7/2024 5:20 PM, Pradeep Kumar Chitrapu wrote:
> Add flag for Full Bandwidth UL MU-MIMO for EHT. This is utilized
> to pass EHT MU-MIMO configurations from user space to driver.
> 
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
> 
> Signed-off-by: Pradeep Kumar Chitrapu <quic_pradeepc@quicinc.com>
> ---
>  include/net/mac80211.h | 4 ++++
>  net/mac80211/cfg.c     | 5 +++++
>  2 files changed, 9 insertions(+)
> 
> diff --git a/include/net/mac80211.h b/include/net/mac80211.h
> index cafc664ee531..d7b6f75bc920 100644
> --- a/include/net/mac80211.h
> +++ b/include/net/mac80211.h
> @@ -701,6 +701,9 @@ struct ieee80211_fils_discovery {
>   *	beamformee
>   * @eht_mu_beamformer: in AP-mode, does this BSS enable operation as an EHT MU
>   *	beamformer
> + * @eht_80mhz_full_bw_ul_mumimo: does this BSS support the reception (AP) or transmission

suggest you reformat to fit in 80 columns
(we allow code to exceed 80 columns when it improves readability, but comments
should almost never exceed 80 columns)

> + *	(non-AP STA) of an EHT TB PPDU on an RU that spans the entire PPDU
> + *	bandwidth
>   */
>  struct ieee80211_bss_conf {
>  	struct ieee80211_vif *vif;
> @@ -793,6 +796,7 @@ struct ieee80211_bss_conf {
>  	bool eht_su_beamformer;
>  	bool eht_su_beamformee;
>  	bool eht_mu_beamformer;
> +	bool eht_80mhz_full_bw_ul_mumimo;
>  };
>  
>  /**
> diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
> index b08e5d7687e3..96b2f31f0c8a 100644
> --- a/net/mac80211/cfg.c
> +++ b/net/mac80211/cfg.c
> @@ -1379,6 +1379,11 @@ static int ieee80211_start_ap(struct wiphy *wiphy, struct net_device *dev,
>  				(IEEE80211_EHT_PHY_CAP7_MU_BEAMFORMER_80MHZ |
>  				 IEEE80211_EHT_PHY_CAP7_MU_BEAMFORMER_160MHZ |
>  				 IEEE80211_EHT_PHY_CAP7_MU_BEAMFORMER_320MHZ);
> +		link_conf->eht_80mhz_full_bw_ul_mumimo =
> +			params->eht_cap->fixed.phy_cap_info[7] &
> +				(IEEE80211_EHT_PHY_CAP7_NON_OFDMA_UL_MU_MIMO_80MHZ |
> +				 IEEE80211_EHT_PHY_CAP7_NON_OFDMA_UL_MU_MIMO_160MHZ |
> +				 IEEE80211_EHT_PHY_CAP7_NON_OFDMA_UL_MU_MIMO_320MHZ);
>  	} else {
>  		link_conf->eht_su_beamformer = false;
>  		link_conf->eht_su_beamformee = false;
Pradeep Kumar Chitrapu May 15, 2024, 4:10 p.m. UTC | #2
On 5/13/2024 1:49 PM, Jeff Johnson wrote:
> On 5/7/2024 5:20 PM, Pradeep Kumar Chitrapu wrote:
>> Add flag for Full Bandwidth UL MU-MIMO for EHT. This is utilized
>> to pass EHT MU-MIMO configurations from user space to driver.
>>
>> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
>>
>> Signed-off-by: Pradeep Kumar Chitrapu <quic_pradeepc@quicinc.com>
>> ---
>>   include/net/mac80211.h | 4 ++++
>>   net/mac80211/cfg.c     | 5 +++++
>>   2 files changed, 9 insertions(+)
>>
>> diff --git a/include/net/mac80211.h b/include/net/mac80211.h
>> index cafc664ee531..d7b6f75bc920 100644
>> --- a/include/net/mac80211.h
>> +++ b/include/net/mac80211.h
>> @@ -701,6 +701,9 @@ struct ieee80211_fils_discovery {
>>    *	beamformee
>>    * @eht_mu_beamformer: in AP-mode, does this BSS enable operation as an EHT MU
>>    *	beamformer
>> + * @eht_80mhz_full_bw_ul_mumimo: does this BSS support the reception (AP) or transmission
> 
> suggest you reformat to fit in 80 columns
> (we allow code to exceed 80 columns when it improves readability, but comments
> should almost never exceed 80 columns)

Sure..Thanks Jeff, will address in next revision
diff mbox series

Patch

diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index cafc664ee531..d7b6f75bc920 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -701,6 +701,9 @@  struct ieee80211_fils_discovery {
  *	beamformee
  * @eht_mu_beamformer: in AP-mode, does this BSS enable operation as an EHT MU
  *	beamformer
+ * @eht_80mhz_full_bw_ul_mumimo: does this BSS support the reception (AP) or transmission
+ *	(non-AP STA) of an EHT TB PPDU on an RU that spans the entire PPDU
+ *	bandwidth
  */
 struct ieee80211_bss_conf {
 	struct ieee80211_vif *vif;
@@ -793,6 +796,7 @@  struct ieee80211_bss_conf {
 	bool eht_su_beamformer;
 	bool eht_su_beamformee;
 	bool eht_mu_beamformer;
+	bool eht_80mhz_full_bw_ul_mumimo;
 };
 
 /**
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index b08e5d7687e3..96b2f31f0c8a 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -1379,6 +1379,11 @@  static int ieee80211_start_ap(struct wiphy *wiphy, struct net_device *dev,
 				(IEEE80211_EHT_PHY_CAP7_MU_BEAMFORMER_80MHZ |
 				 IEEE80211_EHT_PHY_CAP7_MU_BEAMFORMER_160MHZ |
 				 IEEE80211_EHT_PHY_CAP7_MU_BEAMFORMER_320MHZ);
+		link_conf->eht_80mhz_full_bw_ul_mumimo =
+			params->eht_cap->fixed.phy_cap_info[7] &
+				(IEEE80211_EHT_PHY_CAP7_NON_OFDMA_UL_MU_MIMO_80MHZ |
+				 IEEE80211_EHT_PHY_CAP7_NON_OFDMA_UL_MU_MIMO_160MHZ |
+				 IEEE80211_EHT_PHY_CAP7_NON_OFDMA_UL_MU_MIMO_320MHZ);
 	} else {
 		link_conf->eht_su_beamformer = false;
 		link_conf->eht_su_beamformee = false;