wifi: mac80211: Add EHT UL MU-MIMO flag in ieee80211_bss_conf
authorPradeep Kumar Chitrapu <quic_pradeepc@quicinc.com>
Wed, 15 May 2024 18:13:18 +0000 (11:13 -0700)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 23 May 2024 09:29:46 +0000 (11:29 +0200)
Add flag for Full Bandwidth UL MU-MIMO for EHT. This is utilized
to pass EHT MU-MIMO configurations from user space to driver
in AP mode.

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>
Link: https://msgid.link/20240515181327.12855-2-quic_pradeepc@quicinc.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/mac80211.h
net/mac80211/cfg.c

index a59eacfe04804a6ad1a688af4f282397b5e5e084..ecfa65ade226252092ae18b5de93e8db9d30c43f 100644 (file)
@@ -735,6 +735,9 @@ struct ieee80211_parsed_tpe {
  *     beamformee
  * @eht_mu_beamformer: in AP-mode, does this BSS enable operation as an EHT MU
  *     beamformer
+ * @eht_80mhz_full_bw_ul_mumimo: in AP-mode, does this BSS support the
+ *     reception of an EHT TB PPDU on an RU that spans the entire PPDU
+ *     bandwidth
  */
 struct ieee80211_bss_conf {
        struct ieee80211_vif *vif;
@@ -828,6 +831,7 @@ struct ieee80211_bss_conf {
        bool eht_su_beamformer;
        bool eht_su_beamformee;
        bool eht_mu_beamformer;
+       bool eht_80mhz_full_bw_ul_mumimo;
 };
 
 /**
index 3319c93605070e016e5287f79497b7b18c81e42e..62119e957cd8400bfa5346bd95be06c22a6b7d37 100644 (file)
@@ -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;