Skip to content

Commit

Permalink
mac80211: Add VHT MU-MIMO related flags in ieee80211_bss_conf
Browse files Browse the repository at this point in the history
Adding flags for SU Beamformer, SU Beamformee, MU Beamformer and
MU Beamformee for VHT. This is utilized to pass MU-MIMO
configurations from user space to driver.

Signed-off-by: Muna Sinada <quic_msinada@quicinc.com>
  • Loading branch information
Muna Sinada authored and intel-lab-lkp committed Jul 5, 2022
1 parent 8d70f33 commit d0909fa
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
8 changes: 8 additions & 0 deletions include/net/mac80211.h
Expand Up @@ -636,6 +636,10 @@ struct ieee80211_fils_discovery {
* @tx_pwr_env_num: number of @tx_pwr_env.
* @pwr_reduction: power constraint of BSS.
* @eht_support: does this BSS support EHT
* @vht_su_beamformer: does this BSS support operation as an VHT SU beamformer
* @vht_su_beamformee: does this BSS support operation as an VHT SU beamformee
* @vht_mu_beamformer: does this BSS support operation as an VHT MU beamformer
* @vht_mu_beamformee: does this BSS support operation as an VHT MU beamformee
*/
struct ieee80211_bss_conf {
const u8 *bssid;
Expand Down Expand Up @@ -711,6 +715,10 @@ struct ieee80211_bss_conf {
u8 tx_pwr_env_num;
u8 pwr_reduction;
bool eht_support;
bool vht_su_beamformer;
bool vht_su_beamformee;
bool vht_mu_beamformer;
bool vht_mu_beamformee;
};

/**
Expand Down
15 changes: 15 additions & 0 deletions net/mac80211/cfg.c
Expand Up @@ -1164,6 +1164,21 @@ static int ieee80211_start_ap(struct wiphy *wiphy, struct net_device *dev,
prev_beacon_int = sdata->vif.bss_conf.beacon_int;
sdata->vif.bss_conf.beacon_int = params->beacon_interval;

if (params->vht_cap) {
sdata->vif.bss_conf.vht_su_beamformer =
!!(ap_vht_cap->vht_cap_info &
cpu_to_le32(IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE));
sdata->vif.bss_conf.vht_su_beamformee =
!!(ap_vht_cap->vht_cap_info &
cpu_to_le32(IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE));
sdata->vif.bss_conf.vht_mu_beamformer =
!!(ap_vht_cap->vht_cap_info &
cpu_to_le32(IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE));
sdata->vif.bss_conf.vht_mu_beamformee =
!!(ap_vht_cap->vht_cap_info &
cpu_to_le32(IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE));
}

if (params->he_cap && params->he_oper) {
sdata->vif.bss_conf.he_support = true;
sdata->vif.bss_conf.htc_trig_based_pkt_ext =
Expand Down

0 comments on commit d0909fa

Please sign in to comment.