mirror of https://gitee.com/openkylin/linux.git
mac80211: enable easier manipulation of VHT beamforming caps
Introduce shift and mask defines for beamformee STS cap and number of sounding dimensions cap as these can take any 3 bit value. While at it also cleanup an unrequired parenthesis. Signed-off-by: Eyal Shapira <eyal@wizery.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
33787fc4be
commit
fbdd90ea83
|
@ -1411,8 +1411,12 @@ struct ieee80211_vht_operation {
|
|||
#define IEEE80211_VHT_CAP_RXSTBC_MASK 0x00000700
|
||||
#define IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE 0x00000800
|
||||
#define IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE 0x00001000
|
||||
#define IEEE80211_VHT_CAP_BEAMFORMEE_STS_MAX 0x0000e000
|
||||
#define IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_MAX 0x00070000
|
||||
#define IEEE80211_VHT_CAP_BEAMFORMEE_STS_SHIFT 13
|
||||
#define IEEE80211_VHT_CAP_BEAMFORMEE_STS_MASK \
|
||||
(7 << IEEE80211_VHT_CAP_BEAMFORMEE_STS_SHIFT)
|
||||
#define IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_SHIFT 16
|
||||
#define IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_MASK \
|
||||
(7 << IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_SHIFT)
|
||||
#define IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE 0x00080000
|
||||
#define IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE 0x00100000
|
||||
#define IEEE80211_VHT_CAP_VHT_TXOP_PS 0x00200000
|
||||
|
|
|
@ -182,16 +182,15 @@ ieee80211_vht_cap_ie_to_sta_vht_cap(struct ieee80211_sub_if_data *sdata,
|
|||
IEEE80211_VHT_CAP_SHORT_GI_160);
|
||||
|
||||
/* remaining ones */
|
||||
if (own_cap.cap & IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE) {
|
||||
if (own_cap.cap & IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE)
|
||||
vht_cap->cap |= cap_info &
|
||||
(IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE |
|
||||
IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_MAX);
|
||||
}
|
||||
IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_MASK);
|
||||
|
||||
if (own_cap.cap & IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE)
|
||||
vht_cap->cap |= cap_info &
|
||||
(IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE |
|
||||
IEEE80211_VHT_CAP_BEAMFORMEE_STS_MAX);
|
||||
IEEE80211_VHT_CAP_BEAMFORMEE_STS_MASK);
|
||||
|
||||
if (own_cap.cap & IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE)
|
||||
vht_cap->cap |= cap_info &
|
||||
|
|
Loading…
Reference in New Issue