qcacld-3.0: Refactor MLME CFG items and APIs for VHT

VHT Part3: Add the basic infra for MLME CFG items and the APIs
to be used from other components for VHT.

Change-Id: I8cd30439d7ac3de7b550aa5042353cf30e04cbda
CRs-Fixed: 2322304
This commit is contained in:
Abhinav Kumar
2018-09-15 15:32:11 +05:30
committed by nshrivas
parent 7780a005cd
commit b074f2f7fc
36 changed files with 1126 additions and 1494 deletions

View File

@@ -31,14 +31,39 @@
CFG_VALUE_OR_DEFAULT, \
"VHT SUPPORTED CHAN WIDTH SET")
#define CFG_VHT_BEAMFORMEE_ANT_SUPP CFG_UINT( \
"tx_bfee_ant_supp", \
/*
* <ini>
* gTxBFCsnValue - ini to set VHT/HE STS Caps field
* @Min: 0
* @Max: 7
* @Default: 7
*
* This ini is used to configure the STS capability shown in AC/AX mode
* MGMT frame IE, the final STS field shown in VHT/HE IE will be calculated
* by MIN of (INI set, target report value). Only if gTxBFEnable is enabled
* and SU/MU BEAMFORMEE Caps is shown, then STS Caps make sense.
*
* Related: gTxBFEnable.
*
* Supported Feature: STA/SAP
*
* Usage: Internal
*
* </ini>
*/
#define CFG_VHT_BEAMFORMEE_ANT_SUPP CFG_INI_UINT( \
"txBFCsnValue", \
0, \
8, \
8, \
7, \
7, \
CFG_VALUE_OR_DEFAULT, \
"VHT BEAMFORMEE ANTENNA SUPPORTED CAP")
#define CFG_VHT_ENABLE_TX_SU_BEAM_FORMER CFG_INI_BOOL( \
"gEnableTxSUBeamformer", \
0, \
"vht tx su beam former")
#define CFG_VHT_NUM_SOUNDING_DIMENSIONS CFG_UINT( \
"num_soundingdim", \
0, \
@@ -86,80 +111,31 @@
CFG_VALUE_OR_DEFAULT, \
"VHT TX SUPP DATA RATE")
#define CFG_VHT_ENABLE_TXBF_20MHZ CFG_BOOL( \
"enable_txbf_20mhz", \
#define CFG_VHT_ENABLE_TXBF_20MHZ CFG_INI_BOOL( \
"gTxBFEnable", \
0, \
"VHT ENABLE TXBF 20MHZ")
#define CFG_VHT_LDPC_CODING_CAP CFG_INI_BOOL( \
"ldpc_coding_cap", \
0, \
"VHT LDPC CODING CAP")
#define CFG_VHT_SHORT_GI_80MHZ CFG_INI_BOOL( \
"short_gi_80mhz", \
1, \
"VHT SHORT GI 80MHZ")
#define CFG_VHT_SHORT_GI_160_AND_80_PLUS_80MHZ CFG_INI_BOOL( \
"short_gi_160mhz", \
0, \
"VHT SHORT GI 160 AND 80 PLUS 80MHZ")
#define CFG_VHT_TXSTBC CFG_INI_BOOL( \
"tx_stbc", \
0, \
"VHT Tx STBC")
#define CFG_VHT_RXSTBC CFG_INI_BOOL( \
"rx_stbc", \
1, \
"VHT Rx STBC")
#define CFG_VHT_SU_BEAMFORMER_CAP CFG_INI_BOOL( \
#define CFG_VHT_SU_BEAMFORMER_CAP CFG_BOOL( \
"su_bformer", \
0, \
"VHT SU BEAMFORMER CAP")
#define CFG_VHT_SU_BEAMFORMEE_CAP CFG_INI_BOOL( \
#define CFG_VHT_SU_BEAMFORMEE_CAP CFG_BOOL( \
"su_bformee", \
1, \
"VHT SU BEAMFORMEE CAP")
#define CFG_VHT_MU_BEAMFORMER_CAP CFG_INI_BOOL( \
#define CFG_VHT_MU_BEAMFORMER_CAP CFG_BOOL( \
"mu_bformer", \
0, \
"VHT MU BEAMFORMER CAP")
#define CFG_VHT_TXOP_PS CFG_INI_BOOL( \
#define CFG_VHT_TXOP_PS CFG_BOOL( \
"txop_ps", \
0, \
"VHT TXOP PS")
#define CFG_VHT_RX_MCS_MAP CFG_INI_UINT( \
"rx_mcs_map", \
0, \
65535, \
65534, \
CFG_VALUE_OR_DEFAULT, \
"VHT RX MCS MAP")
#define CFG_VHT_TX_MCS_MAP CFG_INI_UINT( \
"tx_mcs_map", \
0, \
65535, \
65534, \
CFG_VALUE_OR_DEFAULT, \
"VHT TX MCS MAP")
#define CFG_VHT_BASIC_MCS_SET CFG_INI_UINT( \
"basic_mcs_set", \
0, \
65535, \
65534, \
CFG_VALUE_OR_DEFAULT, \
"VHT BASIC MCS SET")
/*
* <ini>
* gVhtChannelWidth - Channel width capability for 11ac
@@ -427,16 +403,44 @@
CFG_VALUE_OR_DEFAULT, \
"VHT MPDU Length")
/*
* Enable / Disable Tx beamformee in SAP mode
* Default: Disable
*/
#define CFG_VHT_ENABLE_TXBF_SAP_MODE CFG_INI_BOOL( \
"gEnableTxBFeeSAP", \
0, \
"Enable tx bf sap mode")
/*
* <ini>
* enable_subfee_vendor_vhtie - ini to enable/disable SU Bformee in vendor VHTIE
* @Min: 0
* @Max: 1
* @Default: 1
*
* This ini is used to enable/disable SU Bformee in vendor vht ie if gTxBFEnable
* is enabled. if gTxBFEnable is 0 this will not have any effect.
*
* Related: gTxBFEnable.
*
* Supported Feature: STA
*
* Usage: External
*
* </ini>
*/
#define CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE CFG_INI_BOOL( \
"enable_subfee_vendor_vhtie", \
0, \
"Enable subfee in vendor vht ie")
#define CFG_VHT_CAPS_ALL \
CFG(CFG_VHT_SUPP_CHAN_WIDTH) \
CFG(CFG_VHT_LDPC_CODING_CAP) \
CFG(CFG_VHT_SHORT_GI_80MHZ) \
CFG(CFG_VHT_SHORT_GI_160_AND_80_PLUS_80MHZ) \
CFG(CFG_VHT_TXSTBC) \
CFG(CFG_VHT_RXSTBC) \
CFG(CFG_VHT_SU_BEAMFORMER_CAP) \
CFG(CFG_VHT_SU_BEAMFORMEE_CAP) \
CFG(CFG_VHT_BEAMFORMEE_ANT_SUPP) \
CFG(CFG_VHT_ENABLE_TX_SU_BEAM_FORMER) \
CFG(CFG_VHT_NUM_SOUNDING_DIMENSIONS) \
CFG(CFG_VHT_MU_BEAMFORMER_CAP) \
CFG(CFG_VHT_TXOP_PS) \
@@ -444,11 +448,8 @@
CFG(CFG_VHT_LINK_ADAPTATION_CAP) \
CFG(CFG_VHT_RX_ANT_PATTERN) \
CFG(CFG_VHT_TX_ANT_PATTERN) \
CFG(CFG_VHT_RX_MCS_MAP) \
CFG(CFG_VHT_TX_MCS_MAP) \
CFG(CFG_VHT_RX_SUPP_DATA_RATE) \
CFG(CFG_VHT_TX_SUPP_DATA_RATE) \
CFG(CFG_VHT_BASIC_MCS_SET) \
CFG(CFG_VHT_ENABLE_TXBF_20MHZ) \
CFG(CFG_VHT_CHANNEL_WIDTH) \
CFG(CFG_VHT_ENABLE_RX_MCS_8_9) \
@@ -463,6 +464,8 @@
CFG(CFG_ENABLE_VHT_FOR_24GHZ) \
CFG(CFG_ENABLE_VENDOR_VHT_FOR_24GHZ) \
CFG(CFG_VHT_AMPDU_LEN_EXPONENT) \
CFG(CFG_VHT_MPDU_LEN)
CFG(CFG_VHT_MPDU_LEN) \
CFG(CFG_VHT_ENABLE_TXBF_SAP_MODE) \
CFG(CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE)
#endif /* __CFG_MLME_VHT_CAPS_H */

View File

@@ -726,7 +726,18 @@ QDF_STATUS wlan_mlme_cfg_get_vht_chan_width(struct wlan_objmgr_psoc *psoc,
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_set_vht_chan_width(struct wlan_objmgr_psoc *psoc,
uint8_t value);
uint8_t value);
/**
* wlan_mlme_cfg_get_vht_chan_width() - sets vht supported channel width into
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_get_vht_chan_width(struct wlan_objmgr_psoc *psoc,
uint8_t *value);
/**
* wlan_mlme_cfg_get_vht_ldpc_coding_cap() - gets vht ldpc coding cap from
@@ -737,7 +748,7 @@ QDF_STATUS wlan_mlme_cfg_set_vht_chan_width(struct wlan_objmgr_psoc *psoc,
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_get_vht_ldpc_coding_cap(struct wlan_objmgr_psoc *psoc,
bool *value);
bool *value);
/**
* wlan_mlme_cfg_set_vht_ldpc_coding_cap() - sets vht ldpc coding cap into
@@ -773,26 +784,26 @@ QDF_STATUS wlan_mlme_cfg_set_vht_short_gi_80mhz(struct wlan_objmgr_psoc *psoc,
bool value);
/**
* wlan_mlme_cfg_get_vht_short_gi_160mhz() - gets vht short gi 160MHz from
* wlan_mlme_cfg_get_short_gi_160_mhz() - gets vht short gi 160MHz from
* cfg item
* @psoc: psoc context
* @value: pointer to get required data
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_get_vht_short_gi_160mhz(struct wlan_objmgr_psoc *psoc,
bool *value);
QDF_STATUS wlan_mlme_cfg_get_short_gi_160_mhz(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_cfg_set_vht_short_gi_160mhz() - sets vht short gi 160MHz into
* wlan_mlme_cfg_set_short_gi_160_mhz() - sets vht short gi 160MHz into
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_set_vht_short_gi_160mhz(struct wlan_objmgr_psoc *psoc,
bool value);
QDF_STATUS wlan_mlme_cfg_set_short_gi_160_mhz(struct wlan_objmgr_psoc *psoc,
bool value);
/**
* wlan_mlme_cfg_get_vht_tx_stbc() - gets vht tx stbc from
@@ -805,6 +816,17 @@ QDF_STATUS wlan_mlme_cfg_set_vht_short_gi_160mhz(struct wlan_objmgr_psoc *psoc,
QDF_STATUS wlan_mlme_cfg_get_vht_tx_stbc(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_cfg_get_vht_rx_stbc() - gets vht rx stbc from
* cfg item
* @psoc: psoc context
* @value: pointer to get required data
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_get_vht_rx_stbc(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_cfg_set_vht_tx_stbc() - sets vht tx stbc into
* cfg item
@@ -872,7 +894,8 @@ QDF_STATUS wlan_mlme_cfg_set_vht_su_bformee(struct wlan_objmgr_psoc *psoc,
bool value);
/**
* wlan_mlme_cfg_set_vht_tx_bfee_ant_supp() - sets vht Beamformee antenna support cap
* wlan_mlme_cfg_set_vht_tx_bfee_ant_supp() - sets vht Beamformee antenna
* support cap
* into cfg item
* @psoc: psoc context
* @value: data to be set
@@ -882,6 +905,18 @@ QDF_STATUS wlan_mlme_cfg_set_vht_su_bformee(struct wlan_objmgr_psoc *psoc,
QDF_STATUS wlan_mlme_cfg_set_vht_tx_bfee_ant_supp(struct wlan_objmgr_psoc *psoc,
uint8_t value);
/**
* wlan_mlme_cfg_get_vht_tx_bfee_ant_supp() - sets vht Beamformee antenna
* support cap
* into cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_get_vht_tx_bfee_ant_supp(struct wlan_objmgr_psoc *psoc,
uint8_t *value);
/**
* wlan_mlme_cfg_set_vht_num_sounding_dim() - sets vht no of sounding dimensions
* into cfg item
@@ -1071,6 +1106,26 @@ QDF_STATUS wlan_mlme_cfg_get_vht_basic_mcs_set(struct wlan_objmgr_psoc *psoc,
QDF_STATUS wlan_mlme_cfg_set_vht_basic_mcs_set(struct wlan_objmgr_psoc *psoc,
uint32_t value);
/**
* wlan_mlme_get_vht_enable_tx_bf() - VHT Rx MCS capability for 1x1 mode
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_get_vht_enable_tx_bf(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_get_vht_enable_tx_su_beam() - VHT enable tx su beam
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_get_vht_enable_tx_su_beam(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_get_vht_channel_width() - gets Channel width capability
* for 11ac
@@ -1192,4 +1247,23 @@ QDF_STATUS wlan_mlme_get_vht_for_24ghz(struct wlan_objmgr_psoc *psoc,
QDF_STATUS wlan_mlme_get_vendor_vht_for_24ghz(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* mlme_update_vht_cap() - update vht capabilities
* @psoc: psoc context
* @cfg: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS mlme_update_vht_cap(struct wlan_objmgr_psoc *psoc,
struct wma_tgt_vht_cap *cfg);
/**
* mlme_update_nss_vht_cap() - Update the number of spatial
* streams supported for vht
* @psoc: psoc context
*
* Return: QDF_STATUS
*/
QDF_STATUS mlme_update_nss_vht_cap(struct wlan_objmgr_psoc *psoc);
#endif /* _WLAN_MLME_API_H_ */

View File

@@ -29,6 +29,16 @@
#define CFG_PMKID_MODES_OKC (0x1)
#define CFG_PMKID_MODES_PMKSA_CACHING (0x2)
#define CFG_VHT_BASIC_MCS_SET_STADEF 0xFFFE
#define CFG_VHT_RX_MCS_MAP_STAMIN 0
#define CFG_VHT_RX_MCS_MAP_STAMAX 65535
#define CFG_VHT_RX_MCS_MAP_STADEF 65534
#define CFG_VHT_TX_MCS_MAP_STAMIN 0
#define CFG_VHT_TX_MCS_MAP_STAMAX 65535
#define CFG_VHT_TX_MCS_MAP_STADEF 65534
#define CFG_STR_DATA_LEN 17
#define CFG_EDCA_DATA_LEN 17
@@ -312,6 +322,7 @@ struct wlan_mlme_mbo {
* @tx_supp_data_rate: Tx highest supported data rate
* @basic_mcs_set: Basic MCS set
* @enable_txbf_20mhz: enable tx bf for 20mhz
* @enable_tx_su: enable VHT tx su beam former
* @channel_width: Channel width capability for 11ac
* @rx_mcs: VHT Rx MCS capability for 1x1 mode
* @tx_mcs: VHT Tx MCS capability for 1x1 mode
@@ -328,6 +339,8 @@ struct wlan_mlme_mbo {
* ie in 2.4 GHz band
* @ampdu_len_exponent: To handle maximum receive AMPDU ampdu len exponent
* @ampdu_len: To handle maximum receive AMPDU ampdu len
* @tx_bfee_sap: enable tx bfee SAp
* @subfee_vendor_vhtie: enable subfee vendor vht ie
*/
struct mlme_vht_capabilities_info {
uint8_t supp_chan_width;
@@ -352,9 +365,10 @@ struct mlme_vht_capabilities_info {
uint32_t tx_supp_data_rate;
uint32_t basic_mcs_set;
bool enable_txbf_20mhz;
bool enable_tx_su;
uint8_t channel_width;
uint8_t rx_mcs;
uint8_t tx_mcs;
uint32_t rx_mcs;
uint32_t tx_mcs;
uint8_t rx_mcs2x2;
uint8_t tx_mcs2x2;
bool enable_vht20_mcs9;
@@ -366,6 +380,8 @@ struct mlme_vht_capabilities_info {
bool vendor_24ghz_band;
uint8_t ampdu_len_exponent;
uint8_t ampdu_len;
bool tx_bfee_sap;
bool vendor_vhtie;
};
/**

View File

@@ -1045,6 +1045,23 @@ QDF_STATUS ucfg_mlme_cfg_set_vht_chan_width(struct wlan_objmgr_psoc *psoc,
return wlan_mlme_cfg_set_vht_chan_width(psoc, value);
}
/**
* ucfg_mlme_cfg_get_vht_chan_width() - gets vht supported channel width into
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Inline UCFG API to be used by HDD/OSIF callers
*
* Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
*/
static inline
QDF_STATUS ucfg_mlme_cfg_get_vht_chan_width(struct wlan_objmgr_psoc *psoc,
uint8_t *value)
{
return wlan_mlme_cfg_get_vht_chan_width(psoc, value);
}
/**
* ucfg_mlme_cfg_set_vht_ldpc_coding_cap() - sets vht ldpc coding cap into
* cfg item
@@ -1062,6 +1079,42 @@ ucfg_mlme_cfg_set_vht_ldpc_coding_cap(struct wlan_objmgr_psoc *psoc,
return wlan_mlme_cfg_set_vht_ldpc_coding_cap(psoc, value);
}
/**
* ucfg_mlme_cfg_get_short_gi_160_mhz() - gets basic set SHORT GI 160MHZ from
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Inline UCFG API to be used by HDD/OSIF callers to get the
* ignore_peer_ht_opmode flag value
*
* Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
*/
static inline QDF_STATUS
ucfg_mlme_cfg_get_short_gi_160_mhz(struct wlan_objmgr_psoc *psoc,
bool *value)
{
return wlan_mlme_cfg_get_short_gi_160_mhz(psoc, value);
}
/**
* ucfg_mlme_cfg_set_short_gi_160_mhz() - sets basic set SHORT GI 160MHZ into
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Inline UCFG API to be used by HDD/OSIF callers to get the
* ignore_peer_ht_opmode flag value
*
* Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
*/
static inline QDF_STATUS
ucfg_mlme_cfg_set_short_gi_160_mhz(struct wlan_objmgr_psoc *psoc,
bool value)
{
return wlan_mlme_cfg_set_short_gi_160_mhz(psoc, value);
}
/**
* ucfg_mlme_cfg_get_vht_tx_stbc() - gets vht tx stbc from
* cfg item
@@ -1080,6 +1133,24 @@ ucfg_mlme_cfg_get_vht_tx_stbc(struct wlan_objmgr_psoc *psoc,
return wlan_mlme_cfg_get_vht_tx_stbc(psoc, value);
}
/**
* ucfg_mlme_cfg_get_vht_rx_stbc() - gets vht tx stbc from
* cfg item
* @psoc: psoc context
* @value: pointer to get required data
*
* Inline UCFG API to be used by HDD/OSIF callers to get the
* ignore_peer_ht_opmode flag value
*
* Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
*/
static inline QDF_STATUS
ucfg_mlme_cfg_get_vht_rx_stbc(struct wlan_objmgr_psoc *psoc,
bool *value)
{
return wlan_mlme_cfg_get_vht_rx_stbc(psoc, value);
}
/**
* ucfg_mlme_cfg_set_vht_tx_bfee_ant_supp() - sets vht Beamformee antenna
* support cap into cfg item
@@ -1097,6 +1168,23 @@ ucfg_mlme_cfg_set_vht_tx_bfee_ant_supp(struct wlan_objmgr_psoc *psoc,
return wlan_mlme_cfg_set_vht_tx_bfee_ant_supp(psoc, value);
}
/**
* ucfg_mlme_cfg_get_vht_tx_bfee_ant_supp() - gets vht Beamformee antenna
* support cap into cfg item
* @psoc: psoc context
* @value: data to be set
*
* Inline UCFG API to be used by HDD/OSIF callers
*
* Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
*/
static inline QDF_STATUS
ucfg_mlme_cfg_get_vht_tx_bfee_ant_supp(struct wlan_objmgr_psoc *psoc,
uint8_t *value)
{
return wlan_mlme_cfg_get_vht_tx_bfee_ant_supp(psoc, value);
}
/**
* ucfg_mlme_cfg_get_vht_rx_mcs_map() - gets vht rx mcs map from
* cfg item
@@ -1237,6 +1325,40 @@ ucfg_mlme_cfg_set_vht_basic_mcs_set(struct wlan_objmgr_psoc *psoc,
return wlan_mlme_cfg_set_vht_basic_mcs_set(psoc, value);
}
/**
* ucfg_mlme_get_vht_enable_tx_bf() - gets enable TXBF for 20MHZ
* for 11ac
* @psoc: psoc context
* @value: data to be set
*
* Inline UCFG API to be used by HDD/OSIF callers to get the
* ignore_peer_ht_opmode flag value
*
* Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
*/
static inline QDF_STATUS
ucfg_mlme_get_vht_enable_tx_bf(struct wlan_objmgr_psoc *psoc, bool *value)
{
return wlan_mlme_get_vht_enable_tx_bf(psoc, value);
}
/**
* ucfg_mlme_get_vht_enable_tx_su_beam() - gets enable enable_tx_su_beam
* for 11ac
* @psoc: psoc context
* @value: data to be set
*
* Inline UCFG API to be used by HDD/OSIF callers to get the
* ignore_peer_ht_opmode flag value
*
* Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
*/
static inline QDF_STATUS
ucfg_mlme_get_vht_enable_tx_su_beam(struct wlan_objmgr_psoc *psoc, bool *value)
{
return wlan_mlme_get_vht_enable_tx_su_beam(psoc, value);
}
/**
* ucfg_mlme_get_vht_channel_width() - gets Channel width capability
* for 11ac
@@ -1433,4 +1555,39 @@ ucfg_mlme_get_vendor_vht_for_24ghz(struct wlan_objmgr_psoc *psoc, bool *value)
{
return wlan_mlme_get_vendor_vht_for_24ghz(psoc, value);
}
/**
* ucfg_mlme_update_vht_cap() - Update vht capabilities
* @psoc: psoc context
* @value: data to be set
*
* Inline UCFG API to be used by HDD/OSIF callers to get the
* ignore_peer_ht_opmode flag value
*
* Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
*/
static inline QDF_STATUS
ucfg_mlme_update_vht_cap(struct wlan_objmgr_psoc *psoc,
struct wma_tgt_vht_cap *cfg)
{
return mlme_update_vht_cap(psoc, cfg);
}
/**
* ucfg_mlme_update_nss_vht_cap() -Update the number of spatial
* streams supported for vht
* @psoc: psoc context
* @value: data to be set
*
* Inline UCFG API to be used by HDD/OSIF callers to get the
* ignore_peer_ht_opmode flag value
*
* Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
*/
static inline QDF_STATUS
ucfg_mlme_update_nss_vht_cap(struct wlan_objmgr_psoc *psoc)
{
return mlme_update_nss_vht_cap(psoc);
}
#endif /* _WLAN_MLME_UCFG_API_H_ */