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@xxxxxxxxxxx> > --- > 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;