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

Add the basic infra for MLME CFG items and the APIs to be used from
other components for VHT - Part-2

Change-Id: I8f9c8286861c5a7b17d0261cad6c51b431e86f4a
CRs-Fixed: 2322302
This commit is contained in:
Abhinav Kumar
2018-09-09 12:41:28 +05:30
committed by nshrivas
parent 0955073b30
commit 460d165b3d
3 changed files with 1309 additions and 0 deletions

View File

@@ -686,5 +686,510 @@ wlan_mlme_get_wmm_uapsd_vo_srv_intv(struct wlan_objmgr_psoc *psoc,
QDF_STATUS QDF_STATUS
wlan_mlme_get_wmm_uapsd_vo_sus_intv(struct wlan_objmgr_psoc *psoc, wlan_mlme_get_wmm_uapsd_vo_sus_intv(struct wlan_objmgr_psoc *psoc,
uint32_t *value); uint32_t *value);
/**
* wlan_mlme_cfg_get_vht_max_mpdu_len() - gets vht max mpdu length from cfg item
* @psoc: psoc context
* @value: pointer to get required data
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_get_vht_max_mpdu_len(struct wlan_objmgr_psoc *psoc,
uint8_t *value);
/**
* wlan_mlme_cfg_set_vht_max_mpdu_len() - sets vht max mpdu length into cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_set_vht_max_mpdu_len(struct wlan_objmgr_psoc *psoc,
uint8_t value);
/**
* wlan_mlme_cfg_get_vht_chan_width() - gets vht supported channel width from
* cfg item
* @psoc: psoc context
* @value: pointer to get required data
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_get_vht_chan_width(struct wlan_objmgr_psoc *psoc,
uint8_t *value);
/**
* wlan_mlme_cfg_set_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_set_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
* cfg item
* @psoc: psoc context
* @value: pointer to get required data
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_get_vht_ldpc_coding_cap(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_cfg_set_vht_ldpc_coding_cap() - sets vht ldpc coding cap into
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_set_vht_ldpc_coding_cap(struct wlan_objmgr_psoc *psoc,
bool value);
/**
* wlan_mlme_cfg_get_vht_short_gi_80mhz() - gets vht short gi 80MHz from
* cfg item
* @psoc: psoc context
* @value: pointer to get required data
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_get_vht_short_gi_80mhz(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_cfg_set_vht_short_gi_80mhz() - sets vht short gi 80MHz into
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
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
* 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);
/**
* wlan_mlme_cfg_set_vht_short_gi_160mhz() - 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);
/**
* wlan_mlme_cfg_get_vht_tx_stbc() - gets vht tx stbc from
* cfg item
* @psoc: psoc context
* @value: pointer to get required data
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_get_vht_tx_stbc(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_cfg_set_vht_tx_stbc() - sets vht tx stbc into
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_set_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_rx_stbc() - sets vht rx stbc into
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_set_vht_rx_stbc(struct wlan_objmgr_psoc *psoc,
bool value);
/**
* wlan_mlme_cfg_get_vht_su_bformer() - gets vht su beam former cap from
* cfg item
* @psoc: psoc context
* @value: pointer to get required data
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_get_vht_su_bformer(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_cfg_set_vht_su_bformer() - sets vht su beam former cap into
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_set_vht_su_bformer(struct wlan_objmgr_psoc *psoc,
bool value);
/**
* wlan_mlme_cfg_set_vht_su_bformee() - sets vht su beam formee cap into
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
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
* into cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_set_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
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_set_vht_num_sounding_dim(struct wlan_objmgr_psoc *psoc,
uint8_t value);
/**
* wlan_mlme_cfg_get_vht_mu_bformer() - gets vht mu beam former cap from
* cfg item
* @psoc: psoc context
* @value: pointer to get required data
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_get_vht_mu_bformer(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_cfg_set_vht_mu_bformer() - sets vht mu beam former cap into
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_set_vht_mu_bformer(struct wlan_objmgr_psoc *psoc,
bool value);
/**
* wlan_mlme_cfg_get_vht_mu_bformee() - gets vht mu beam formee cap from
* cfg item
* @psoc: psoc context
* @value: pointer to get required data
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_get_vht_mu_bformee(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_cfg_set_vht_mu_bformee() - sets vht mu beam formee cap into
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_set_vht_mu_bformee(struct wlan_objmgr_psoc *psoc,
bool value);
/**
* wlan_mlme_cfg_get_vht_txop_ps() - gets vht tx ops ps cap from
* cfg item
* @psoc: psoc context
* @value: pointer to get required data
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_get_vht_txop_ps(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_cfg_set_vht_txop_ps() - sets vht tx ops ps cap into
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_set_vht_txop_ps(struct wlan_objmgr_psoc *psoc,
bool value);
/**
* wlan_mlme_cfg_get_vht_ampdu_len_exp() - gets vht max AMPDU length exponent from
* cfg item
* @psoc: psoc context
* @value: pointer to get required data
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_get_vht_ampdu_len_exp(struct wlan_objmgr_psoc *psoc,
uint8_t *value);
/**
* wlan_mlme_cfg_set_vht_ampdu_len_exp() - sets vht max AMPDU length exponent into
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_set_vht_ampdu_len_exp(struct wlan_objmgr_psoc *psoc,
uint8_t value);
/**
* wlan_mlme_cfg_get_vht_rx_mcs_map() - gets vht rx mcs map from
* cfg item
* @psoc: psoc context
* @value: pointer to get required data
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_get_vht_rx_mcs_map(struct wlan_objmgr_psoc *psoc,
uint32_t *value);
/**
* wlan_mlme_cfg_set_vht_rx_mcs_map() - sets rx mcs map into
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_set_vht_rx_mcs_map(struct wlan_objmgr_psoc *psoc,
uint32_t value);
/**
* wlan_mlme_cfg_get_vht_tx_mcs_map() - gets vht tx mcs map from
* cfg item
* @psoc: psoc context
* @value: pointer to get required data
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_get_vht_tx_mcs_map(struct wlan_objmgr_psoc *psoc,
uint32_t *value);
/**
* wlan_mlme_cfg_set_vht_tx_mcs_map() - sets tx mcs map into
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_set_vht_tx_mcs_map(struct wlan_objmgr_psoc *psoc,
uint32_t value);
/**
* wlan_mlme_cfg_set_vht_rx_supp_data_rate() - sets rx supported data rate into
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS
wlan_mlme_cfg_set_vht_rx_supp_data_rate(struct wlan_objmgr_psoc *psoc,
uint32_t value);
/**
* wlan_mlme_cfg_set_vht_tx_supp_data_rate() - sets tx supported data rate into
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS
wlan_mlme_cfg_set_vht_tx_supp_data_rate(struct wlan_objmgr_psoc *psoc,
uint32_t value);
/**
* wlan_mlme_cfg_get_vht_basic_mcs_set() - gets basic mcs set from
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_get_vht_basic_mcs_set(struct wlan_objmgr_psoc *psoc,
uint32_t *value);
/**
* wlan_mlme_cfg_set_vht_basic_mcs_set() - sets basic mcs set into
* cfg item
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_cfg_set_vht_basic_mcs_set(struct wlan_objmgr_psoc *psoc,
uint32_t value);
/**
* wlan_mlme_get_vht_channel_width() - gets Channel width capability
* for 11ac
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_get_vht_channel_width(struct wlan_objmgr_psoc *psoc,
uint8_t *value);
/**
* wlan_mlme_get_vht_rx_mcs_8_9() - VHT Rx MCS capability for 1x1 mode
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_get_vht_rx_mcs_8_9(struct wlan_objmgr_psoc *psoc,
uint8_t *value);
/**
* wlan_mlme_get_vht_tx_mcs_8_9() - VHT Tx MCS capability for 1x1 mode
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_get_vht_tx_mcs_8_9(struct wlan_objmgr_psoc *psoc,
uint8_t *value);
/**
* wlan_mlme_get_vht_rx_mcs_2x2() - VHT Rx MCS capability for 2x2 mode
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_get_vht_rx_mcs_2x2(struct wlan_objmgr_psoc *psoc,
uint8_t *value);
/**
* wlan_mlme_get_vht_tx_mcs_2x2() - VHT Tx MCS capability for 2x2 mode
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_get_vht_tx_mcs_2x2(struct wlan_objmgr_psoc *psoc,
uint8_t *value);
/**
* wlan_mlme_get_vht20_mcs9() - Enables VHT MCS9 in 20M BW operation
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_get_vht20_mcs9(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_get_vht_enable2x2() - Enables/disables VHT Tx/Rx MCS values for 2x2
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_get_vht_enable2x2(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_set_vht_enable2x2() - Enables/disables VHT Tx/Rx MCS values for 2x2
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_set_vht_enable2x2(struct wlan_objmgr_psoc *psoc,
bool value);
/**
* wlan_mlme_get_vht_enable_paid() - Enables/disables paid feature
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_get_vht_enable_paid(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_get_vht_enable_gid() - Enables/disables VHT GID feature
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_get_vht_enable_gid(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_get_vht_for_24ghz() - Enables/disables VHT for 24 ghz
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_get_vht_for_24ghz(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_get_vendor_vht_for_24ghz() - nables/disables vendor VHT for 24 ghz
* @psoc: psoc context
* @value: data to be set
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlme_get_vendor_vht_for_24ghz(struct wlan_objmgr_psoc *psoc,
bool *value);
#endif /* _WLAN_MLME_API_H_ */ #endif /* _WLAN_MLME_API_H_ */

View File

@@ -1016,4 +1016,410 @@ QDF_STATUS ucfg_mlme_set_enable_bcast_probe_rsp(struct wlan_objmgr_psoc *psoc,
{ {
return wlan_mlme_set_enable_bcast_probe_rsp(psoc, value); return wlan_mlme_set_enable_bcast_probe_rsp(psoc, value);
} }
/**
* ucfg_mlme_cfg_set_vht_chan_width() - sets 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_set_vht_chan_width(struct wlan_objmgr_psoc *psoc,
uint8_t value)
{
return wlan_mlme_cfg_set_vht_chan_width(psoc, value);
}
/**
* ucfg_mlme_cfg_set_vht_ldpc_coding_cap() - sets vht ldpc coding 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_set_vht_ldpc_coding_cap(struct wlan_objmgr_psoc *psoc,
bool value)
{
return wlan_mlme_cfg_set_vht_ldpc_coding_cap(psoc, value);
}
/**
* ucfg_mlme_cfg_get_vht_tx_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_tx_stbc(struct wlan_objmgr_psoc *psoc,
bool *value)
{
return wlan_mlme_cfg_get_vht_tx_stbc(psoc, value);
}
/**
* ucfg_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
*
* 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_set_vht_tx_bfee_ant_supp(struct wlan_objmgr_psoc *psoc,
uint8_t value)
{
return wlan_mlme_cfg_set_vht_tx_bfee_ant_supp(psoc, value);
}
/**
* ucfg_mlme_cfg_get_vht_rx_mcs_map() - gets vht rx mcs map 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_mcs_map(struct wlan_objmgr_psoc *psoc,
uint32_t *value)
{
return wlan_mlme_cfg_get_vht_rx_mcs_map(psoc, value);
}
/**
* ucfg_mlme_cfg_set_vht_rx_mcs_map() - sets rx mcs map 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_set_vht_rx_mcs_map(struct wlan_objmgr_psoc *psoc,
uint32_t value)
{
return wlan_mlme_cfg_set_vht_rx_mcs_map(psoc, value);
}
/**
* ucfg_mlme_cfg_get_vht_tx_mcs_map() - gets vht tx mcs map 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_tx_mcs_map(struct wlan_objmgr_psoc *psoc,
uint32_t *value)
{
return wlan_mlme_cfg_get_vht_tx_mcs_map(psoc, value);
}
/**
* ucfg_mlme_cfg_set_vht_tx_mcs_map() - sets tx mcs map 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_set_vht_tx_mcs_map(struct wlan_objmgr_psoc *psoc,
uint32_t value)
{
return wlan_mlme_cfg_set_vht_tx_mcs_map(psoc, value);
}
/**
* ucfg_mlme_cfg_set_vht_rx_supp_data_rate() - sets rx supported data
* rate 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_set_vht_rx_supp_data_rate(struct wlan_objmgr_psoc *psoc,
uint32_t value)
{
return wlan_mlme_cfg_set_vht_rx_supp_data_rate(psoc, value);
}
/**
* ucfg_mlme_cfg_set_vht_tx_supp_data_rate() - sets tx supported data rate 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_set_vht_tx_supp_data_rate(struct wlan_objmgr_psoc *psoc,
uint32_t value)
{
return wlan_mlme_cfg_set_vht_tx_supp_data_rate(psoc, value);
}
/**
* ucfg_mlme_cfg_get_vht_basic_mcs_set() - gets basic mcs set 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_vht_basic_mcs_set(struct wlan_objmgr_psoc *psoc,
uint32_t *value)
{
return wlan_mlme_cfg_get_vht_basic_mcs_set(psoc, value);
}
/**
* ucfg_mlme_cfg_set_vht_basic_mcs_set() - sets basic mcs set 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_vht_basic_mcs_set(struct wlan_objmgr_psoc *psoc,
uint32_t value)
{
return wlan_mlme_cfg_set_vht_basic_mcs_set(psoc, value);
}
/**
* ucfg_mlme_get_vht_channel_width() - gets Channel width capability
* 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_channel_width(struct wlan_objmgr_psoc *psoc, uint8_t *value)
{
return wlan_mlme_get_vht_channel_width(psoc, value);
}
/**
* ucfg_mlme_get_vht_rx_mcs_8_9() - VHT Rx MCS capability for 1x1 mode
* 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_rx_mcs_8_9(struct wlan_objmgr_psoc *psoc, uint8_t *value)
{
return wlan_mlme_get_vht_rx_mcs_8_9(psoc, value);
}
/**
* ucfg_mlme_get_vht_tx_mcs_8_9() - VHT Tx MCS capability for 1x1 mode
* 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_tx_mcs_8_9(struct wlan_objmgr_psoc *psoc, uint8_t *value)
{
return wlan_mlme_get_vht_tx_mcs_8_9(psoc, value);
}
/**
* ucfg_mlme_get_vht_rx_mcs_2x2() - VHT Rx MCS capability for 2x2 mode
* 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_rx_mcs_2x2(struct wlan_objmgr_psoc *psoc, uint8_t *value)
{
return wlan_mlme_get_vht_rx_mcs_2x2(psoc, value);
}
/**
* ucfg_mlme_get_vht_tx_mcs_2x2() - VHT Tx MCS capability for 2x2 mode
* 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_tx_mcs_2x2(struct wlan_objmgr_psoc *psoc, uint8_t *value)
{
return wlan_mlme_get_vht_tx_mcs_2x2(psoc, value);
}
/**
* ucfg_mlme_get_vht20_mcs9() - Enables VHT MCS9 in 20M BW operation
* @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_vht20_mcs9(struct wlan_objmgr_psoc *psoc, bool *value)
{
return wlan_mlme_get_vht20_mcs9(psoc, value);
}
/**
* ucfg_mlme_get_vht_enable2x2() - Enables/disables VHT Tx/Rx MCS values for 2x2
* @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_enable2x2(struct wlan_objmgr_psoc *psoc, bool *value)
{
return wlan_mlme_get_vht_enable2x2(psoc, value);
}
/**
* ucfg_mlme_set_vht_enable2x2() - Enables/disables VHT Tx/Rx MCS values for 2x2
* @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_set_vht_enable2x2(struct wlan_objmgr_psoc *psoc, bool value)
{
return wlan_mlme_set_vht_enable2x2(psoc, value);
}
/**
* ucfg_mlme_get_vht_enable_paid() - Enables/disables paid feature
* @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_paid(struct wlan_objmgr_psoc *psoc, bool *value)
{
return wlan_mlme_get_vht_enable_paid(psoc, value);
}
/**
* ucfg_mlme_get_vht_enable_gid() - Enables/disables gid feature
* @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_gid(struct wlan_objmgr_psoc *psoc, bool *value)
{
return wlan_mlme_get_vht_enable_gid(psoc, value);
}
/**
* ucfg_mlme_get_vht_for_24ghz() - Enables/disables vht for 24ghz
* @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_for_24ghz(struct wlan_objmgr_psoc *psoc, bool *value)
{
return wlan_mlme_get_vht_for_24ghz(psoc, value);
}
/**
* ucfg_mlme_get_vendor_vht_for_24ghz() - Enables/disables vendor vht for 24ghz
* @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_vendor_vht_for_24ghz(struct wlan_objmgr_psoc *psoc, bool *value)
{
return wlan_mlme_get_vendor_vht_for_24ghz(psoc, value);
}
#endif /* _WLAN_MLME_UCFG_API_H_ */ #endif /* _WLAN_MLME_UCFG_API_H_ */

View File

@@ -1210,5 +1210,403 @@ QDF_STATUS mlme_set_wep_key(struct wlan_mlme_wep_cfg *wep_params,
mlme_err("Invalid key id:%d", wep_keyid); mlme_err("Invalid key id:%d", wep_keyid);
return QDF_STATUS_E_INVAL; return QDF_STATUS_E_INVAL;
} }
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_cfg_set_vht_chan_width(struct wlan_objmgr_psoc *psoc, uint8_t value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
mlme_obj->cfg.vht_caps.vht_cap_info.supp_chan_width = value;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_cfg_set_vht_ldpc_coding_cap(struct wlan_objmgr_psoc *psoc,
bool value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
mlme_obj->cfg.vht_caps.vht_cap_info.ldpc_coding_cap = value;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_cfg_get_vht_tx_stbc(struct wlan_objmgr_psoc *psoc, bool *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.vht_caps.vht_cap_info.tx_stbc;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_cfg_set_vht_tx_bfee_ant_supp(struct wlan_objmgr_psoc *psoc,
uint8_t value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
mlme_obj->cfg.vht_caps.vht_cap_info.tx_bfee_ant_supp = value;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_cfg_get_vht_rx_mcs_map(struct wlan_objmgr_psoc *psoc,
uint32_t *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.vht_caps.vht_cap_info.rx_mcs_map;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_cfg_set_vht_rx_mcs_map(struct wlan_objmgr_psoc *psoc,
uint32_t value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
mlme_obj->cfg.vht_caps.vht_cap_info.rx_mcs_map = value;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_cfg_get_vht_tx_mcs_map(struct wlan_objmgr_psoc *psoc,
uint32_t *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.vht_caps.vht_cap_info.tx_mcs_map;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_cfg_set_vht_tx_mcs_map(struct wlan_objmgr_psoc *psoc,
uint32_t value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
mlme_obj->cfg.vht_caps.vht_cap_info.tx_mcs_map = value;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_cfg_set_vht_rx_supp_data_rate(struct wlan_objmgr_psoc *psoc,
uint32_t value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
mlme_obj->cfg.vht_caps.vht_cap_info.rx_supp_data_rate = value;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_cfg_set_vht_tx_supp_data_rate(struct wlan_objmgr_psoc *psoc,
uint32_t value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
mlme_obj->cfg.vht_caps.vht_cap_info.tx_supp_data_rate = value;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_cfg_get_vht_basic_mcs_set(struct wlan_objmgr_psoc *psoc,
uint32_t *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.vht_caps.vht_cap_info.basic_mcs_set;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_cfg_set_vht_basic_mcs_set(struct wlan_objmgr_psoc *psoc,
uint32_t value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
mlme_obj->cfg.vht_caps.vht_cap_info.basic_mcs_set = value;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_get_vht_channel_width(struct wlan_objmgr_psoc *psoc, uint8_t *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.vht_caps.vht_cap_info.channel_width;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_get_vht_rx_mcs_8_9(struct wlan_objmgr_psoc *psoc, uint8_t *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.vht_caps.vht_cap_info.rx_mcs;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_get_vht_tx_mcs_8_9(struct wlan_objmgr_psoc *psoc, uint8_t *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.vht_caps.vht_cap_info.tx_mcs;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_get_vht_rx_mcs_2x2(struct wlan_objmgr_psoc *psoc, uint8_t *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.vht_caps.vht_cap_info.rx_mcs2x2;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_get_vht_tx_mcs_2x2(struct wlan_objmgr_psoc *psoc, uint8_t *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.vht_caps.vht_cap_info.tx_mcs2x2;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_get_vht20_mcs9(struct wlan_objmgr_psoc *psoc, bool *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.vht_caps.vht_cap_info.enable_vht20_mcs9;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_get_vht_enable2x2(struct wlan_objmgr_psoc *psoc, bool *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.vht_caps.vht_cap_info.enable2x2;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_set_vht_enable2x2(struct wlan_objmgr_psoc *psoc, bool value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
mlme_obj->cfg.vht_caps.vht_cap_info.enable2x2 = value;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_get_vht_enable_paid(struct wlan_objmgr_psoc *psoc, bool *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.vht_caps.vht_cap_info.enable_paid;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_get_vht_enable_gid(struct wlan_objmgr_psoc *psoc, bool *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.vht_caps.vht_cap_info.enable_gid;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_get_vht_for_24ghz(struct wlan_objmgr_psoc *psoc, bool *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.vht_caps.vht_cap_info.b24ghz_band;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_get_vendor_vht_for_24ghz(struct wlan_objmgr_psoc *psoc, bool *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.vht_caps.vht_cap_info.vendor_24ghz_band;
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }