From 08af1c0d0a2350accbc3c439c859d37ca0edd3fd Mon Sep 17 00:00:00 2001 From: Abhinav Kumar Date: Tue, 9 Oct 2018 17:28:16 +0530 Subject: [PATCH] qcacld-3.0: Remove legacy VHT INI & CFG Items Remove the definition of following INI & CFG Items for VHT caps which is common for HT and HE caps. CFG_VHT_LDPC_CODING_CAP CFG_VHT_SHORT_GI_80MHZ CFG_VHT_SHORT_GI_160_AND_80_PLUS_80MHZ CFG_VHT_TXSTBC CFG_VHT_RXSTBC CFG_VHT_RX_MCS_MAP CFG_VHT_TX_MCS_MAP CFG_VHT_BASIC_MCS_SET Change-Id: I55390c3391a0be272c609030dae232d767111fcf CRs-Fixed: 2333183 --- mlme/core/src/wlan_mlme_main.c | 10 +- mlme/dispatcher/inc/cfg_mlme_vht_caps.h | 151 ++++++++++++++++-- mlme/dispatcher/inc/wlan_mlme_api.h | 16 +- mlme/dispatcher/inc/wlan_mlme_public_struct.h | 12 +- mlme/dispatcher/inc/wlan_mlme_ucfg_api.h | 19 +-- mlme/dispatcher/src/wlan_mlme_api.c | 11 +- 6 files changed, 173 insertions(+), 46 deletions(-) diff --git a/mlme/core/src/wlan_mlme_main.c b/mlme/core/src/wlan_mlme_main.c index b7c0e60851..04bc3e42ec 100644 --- a/mlme/core/src/wlan_mlme_main.c +++ b/mlme/core/src/wlan_mlme_main.c @@ -527,9 +527,9 @@ static void mlme_init_vht_cap_cfg(struct wlan_objmgr_psoc *psoc, vht_cap_info->txop_ps = cfg_default(CFG_VHT_TXOP_PS); vht_cap_info->rx_mcs_map = - WNI_CFG_VHT_RX_MCS_MAP_STADEF; + CFG_VHT_RX_MCS_MAP_STADEF; vht_cap_info->tx_mcs_map = - WNI_CFG_VHT_TX_MCS_MAP_STADEF; + CFG_VHT_TX_MCS_MAP_STADEF; vht_cap_info->basic_mcs_set = CFG_VHT_BASIC_MCS_SET_STADEF; vht_cap_info->su_bformer = @@ -539,7 +539,7 @@ static void mlme_init_vht_cap_cfg(struct wlan_objmgr_psoc *psoc, cfg_get(psoc, CFG_VHT_BEAMFORMEE_ANT_SUPP); vht_cap_info->enable_txbf_20mhz = - cfg_get(psoc, CFG_VHT_ENABLE_TXBF_20MHZ); + cfg_get(psoc, CFG_VHT_ENABLE_TXBF_IN_20MHZ); vht_cap_info->ampdu_len = cfg_get(psoc, CFG_VHT_MPDU_LEN); @@ -593,10 +593,10 @@ static void mlme_init_vht_cap_cfg(struct wlan_objmgr_psoc *psoc, cfg_get(psoc, CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE); if (vht_cap_info->enable2x2) - vht_cap_info->enable_tx_su = + vht_cap_info->su_bfer = cfg_get(psoc, CFG_VHT_ENABLE_TX_SU_BEAM_FORMER); - if (vht_cap_info->enable2x2 && vht_cap_info->enable_tx_su) + if (vht_cap_info->enable2x2 && vht_cap_info->su_bfer) vht_cap_info->num_soundingdim = NUM_OF_SOUNDING_DIMENSIONS; } diff --git a/mlme/dispatcher/inc/cfg_mlme_vht_caps.h b/mlme/dispatcher/inc/cfg_mlme_vht_caps.h index 52f55546bc..ac1d7ee9a5 100644 --- a/mlme/dispatcher/inc/cfg_mlme_vht_caps.h +++ b/mlme/dispatcher/inc/cfg_mlme_vht_caps.h @@ -59,6 +59,21 @@ CFG_VALUE_OR_DEFAULT, \ "VHT BEAMFORMEE ANTENNA SUPPORTED CAP") +/* + * + * gEnableTxSUBeamformer - Enables TX Su beam former + * @Min: 0 + * @Max: 1 + * @Default: 0 + * + * Related: NA + * + * Supported Feature: 11AC + * + * Usage: External + * + * + */ #define CFG_VHT_ENABLE_TX_SU_BEAM_FORMER CFG_INI_BOOL( \ "gEnableTxSUBeamformer", \ 0, \ @@ -111,8 +126,43 @@ CFG_VALUE_OR_DEFAULT, \ "VHT TX SUPP DATA RATE") -#define CFG_VHT_ENABLE_TXBF_20MHZ CFG_INI_BOOL( \ +/* + * + * gTxBFEnable - Enables SU beamformee caps + * @Min: 0 + * @Max: 1 + * @Default: 1 + * + * Related: NA + * + * Supported Feature: 11AC + * + * Usage: External + * + * + */ +#define CFG_VHT_SU_BEAMFORMEE_CAP CFG_INI_BOOL( \ "gTxBFEnable", \ + 1, \ + "VHT SU BEAMFORMEE CAPABILITY") + +/* + * + * gEnableTxBFin20MHz - Enables TXBF in 20mhz + * @Min: 0 + * @Max: 1 + * @Default: 0 + * + * Related: NA + * + * Supported Feature: 11AC + * + * Usage: External + * + * + */ +#define CFG_VHT_ENABLE_TXBF_IN_20MHZ CFG_INI_BOOL( \ + "gEnableTxBFin20MHz", \ 0, \ "VHT ENABLE TXBF 20MHZ") @@ -121,11 +171,6 @@ 0, \ "VHT SU BEAMFORMER CAP") -#define CFG_VHT_SU_BEAMFORMEE_CAP CFG_BOOL( \ - "su_bformee", \ - 1, \ - "VHT SU BEAMFORMEE CAP") - #define CFG_VHT_MU_BEAMFORMER_CAP CFG_BOOL( \ "mu_bformer", \ 0, \ @@ -349,17 +394,61 @@ 0, \ "VHT Enable MU Beamformee") +/* + * + * gEnablePAID - Enables VHT paid feature + * @Min: 0 + * @Max: 1 + * @Default: 0 + * + * Related: NA + * + * Supported Feature: 11AC + * + * Usage: External + * + * + */ #define CFG_VHT_ENABLE_PAID_FEATURE CFG_INI_BOOL( \ "gEnablePAID", \ 0, \ "VHT Enable PAID") +/* + * + * gEnableGID - Enables VHT gid feature + * @Min: 0 + * @Max: 1 + * @Default: 0 + * + * Related: NA + * + * Supported Feature: 11AC + * + * Usage: External + * + * + */ #define CFG_VHT_ENABLE_GID_FEATURE CFG_INI_BOOL( \ "gEnableGID", \ 0, \ "VHT Enable GID") -/* Parameter to control VHT support in 2.4 GHz band */ +/* + * + * gEnableVhtFor24GHzBand - Enable VHT for 2.4GHZ in SAP mode + * @Min: 0 + * @Max: 1 + * @Default: 0 + * + * Related: NA + * + * Supported Feature: 11AC + * + * Usage: External + * + * + */ #define CFG_ENABLE_VHT_FOR_24GHZ CFG_INI_BOOL( \ "gEnableVhtFor24GHzBand", \ 0, \ @@ -386,7 +475,21 @@ 1, \ "VHT Enable Vendor for 24GHz") -/* Macro to handle maximum receive AMPDU size configuration */ +/* + * + * gVhtAmpduLenExponent - maximum receive AMPDU size configuration + * @Min: 0 + * @Max: 7 + * @Default: 3 + * + * Related: NA + * + * Supported Feature: 11AC + * + * Usage: External + * + * + */ #define CFG_VHT_AMPDU_LEN_EXPONENT CFG_INI_UINT( \ "gVhtAmpduLenExponent", \ 0, \ @@ -395,6 +498,21 @@ CFG_VALUE_OR_DEFAULT, \ "VHT AMPDU Len in Exponent") +/* + * + * gVhtMpduLen - VHT MPDU length + * @Min: 0 + * @Max: 2 + * @Default: 0 + * + * Related: NA + * + * Supported Feature: 11AC + * + * Usage: External + * + * + */ #define CFG_VHT_MPDU_LEN CFG_INI_UINT( \ "gVhtMpduLen", \ 0, \ @@ -404,8 +522,19 @@ "VHT MPDU Length") /* - * Enable / Disable Tx beamformee in SAP mode - * Default: Disable + * + * gEnableTxBFeeSAP - Enable / Disable Tx beamformee in SAP mode + * @Min: 0 + * @Max: 1 + * @Default: 0 + * + * Related: NA + * + * Supported Feature: 11AC + * + * Usage: External + * + * */ #define CFG_VHT_ENABLE_TXBF_SAP_MODE CFG_INI_BOOL( \ "gEnableTxBFeeSAP", \ @@ -450,7 +579,7 @@ CFG(CFG_VHT_TX_ANT_PATTERN) \ CFG(CFG_VHT_RX_SUPP_DATA_RATE) \ CFG(CFG_VHT_TX_SUPP_DATA_RATE) \ - CFG(CFG_VHT_ENABLE_TXBF_20MHZ) \ + CFG(CFG_VHT_ENABLE_TXBF_IN_20MHZ) \ CFG(CFG_VHT_CHANNEL_WIDTH) \ CFG(CFG_VHT_ENABLE_RX_MCS_8_9) \ CFG(CFG_VHT_ENABLE_TX_MCS_8_9) \ diff --git a/mlme/dispatcher/inc/wlan_mlme_api.h b/mlme/dispatcher/inc/wlan_mlme_api.h index 9a656d54a9..2fde35dc62 100644 --- a/mlme/dispatcher/inc/wlan_mlme_api.h +++ b/mlme/dispatcher/inc/wlan_mlme_api.h @@ -777,7 +777,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_chan_width(struct wlan_objmgr_psoc *psoc, - uint8_t *value); + uint8_t *value); /** * wlan_mlme_cfg_get_vht_ldpc_coding_cap() - gets vht ldpc coding cap from @@ -946,9 +946,9 @@ 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 + * wlan_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 * @@ -1147,7 +1147,7 @@ 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 + * wlan_mlme_get_vht_enable_tx_bf() - Get vht enable tx bf * @psoc: psoc context * @value: data to be set * @@ -1157,14 +1157,14 @@ 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 + * wlan_mlme_get_vht_tx_su_beamformer() - VHT enable tx su beamformer * @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); +QDF_STATUS wlan_mlme_get_vht_tx_su_beamformer(struct wlan_objmgr_psoc *psoc, + bool *value); /** * wlan_mlme_get_vht_channel_width() - gets Channel width capability diff --git a/mlme/dispatcher/inc/wlan_mlme_public_struct.h b/mlme/dispatcher/inc/wlan_mlme_public_struct.h index 743afa4f70..a4e37aee2a 100644 --- a/mlme/dispatcher/inc/wlan_mlme_public_struct.h +++ b/mlme/dispatcher/inc/wlan_mlme_public_struct.h @@ -32,12 +32,12 @@ #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_RX_MCS_MAP_STAMAX 0xFFFF +#define CFG_VHT_RX_MCS_MAP_STADEF 0xFFFE #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_VHT_TX_MCS_MAP_STAMAX 0xFFFF +#define CFG_VHT_TX_MCS_MAP_STADEF 0xFFFE #define CFG_STR_DATA_LEN 17 #define CFG_EDCA_DATA_LEN 17 @@ -408,7 +408,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 + * @su_bfer: 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 @@ -451,7 +451,7 @@ struct mlme_vht_capabilities_info { uint32_t tx_supp_data_rate; uint32_t basic_mcs_set; bool enable_txbf_20mhz; - bool enable_tx_su; + bool su_bfer; uint8_t channel_width; uint32_t rx_mcs; uint32_t tx_mcs; diff --git a/mlme/dispatcher/inc/wlan_mlme_ucfg_api.h b/mlme/dispatcher/inc/wlan_mlme_ucfg_api.h index 387624343a..11d54d2045 100644 --- a/mlme/dispatcher/inc/wlan_mlme_ucfg_api.h +++ b/mlme/dispatcher/inc/wlan_mlme_ucfg_api.h @@ -1068,7 +1068,6 @@ QDF_STATUS ucfg_mlme_set_fils_enabled_info(struct wlan_objmgr_psoc *psoc, /** * ucfg_mlme_set_enable_bcast_probe_rsp() - Set enable bcast probe resp info - * * @psoc: pointer to psoc object * @value: value that needs to be set from the caller * @@ -1085,8 +1084,7 @@ QDF_STATUS ucfg_mlme_set_enable_bcast_probe_rsp(struct wlan_objmgr_psoc *psoc, } /** - * ucfg_mlme_cfg_set_vht_chan_width() - sets vht supported channel width into - * cfg item + * ucfg_mlme_set_vht_ch_width() - set the vht supported channel width cfg * @psoc: psoc context * @value: data to be set * @@ -1095,8 +1093,8 @@ QDF_STATUS ucfg_mlme_set_enable_bcast_probe_rsp(struct wlan_objmgr_psoc *psoc, * 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) +QDF_STATUS ucfg_mlme_set_vht_ch_width(struct wlan_objmgr_psoc *psoc, + uint8_t value) { return wlan_mlme_cfg_set_vht_chan_width(psoc, value); } @@ -1136,8 +1134,7 @@ ucfg_mlme_cfg_set_vht_ldpc_coding_cap(struct wlan_objmgr_psoc *psoc, } /** - * ucfg_mlme_cfg_get_short_gi_160_mhz() - gets basic set SHORT GI 160MHZ from - * cfg item + * ucfg_mlme_cfg_get_short_gi_160_mhz() - Get SHORT GI 160MHZ from cfg item * @psoc: psoc context * @value: data to be set * @@ -1190,7 +1187,7 @@ ucfg_mlme_cfg_get_vht_tx_stbc(struct wlan_objmgr_psoc *psoc, } /** - * ucfg_mlme_cfg_get_vht_rx_stbc() - gets vht tx stbc from + * ucfg_mlme_cfg_get_vht_rx_stbc() - gets vht rx stbc from * cfg item * @psoc: psoc context * @value: pointer to get required data @@ -1399,7 +1396,7 @@ ucfg_mlme_get_vht_enable_tx_bf(struct wlan_objmgr_psoc *psoc, bool *value) } /** - * ucfg_mlme_get_vht_enable_tx_su_beam() - gets enable enable_tx_su_beam + * ucfg_mlme_get_vht_tx_su_beamformer() - gets enable tx_su_beamformer * for 11ac * @psoc: psoc context * @value: data to be set @@ -1410,9 +1407,9 @@ ucfg_mlme_get_vht_enable_tx_bf(struct wlan_objmgr_psoc *psoc, bool *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) +ucfg_mlme_get_vht_tx_su_beamformer(struct wlan_objmgr_psoc *psoc, bool *value) { - return wlan_mlme_get_vht_enable_tx_su_beam(psoc, value); + return wlan_mlme_get_vht_tx_su_beamformer(psoc, value); } /** diff --git a/mlme/dispatcher/src/wlan_mlme_api.c b/mlme/dispatcher/src/wlan_mlme_api.c index 73f46f0ee8..17a9536a1c 100644 --- a/mlme/dispatcher/src/wlan_mlme_api.c +++ b/mlme/dispatcher/src/wlan_mlme_api.c @@ -1579,7 +1579,7 @@ wlan_mlme_get_vht_enable_tx_bf(struct wlan_objmgr_psoc *psoc, bool *value) } QDF_STATUS -wlan_mlme_get_vht_enable_tx_su_beam(struct wlan_objmgr_psoc *psoc, bool *value) +wlan_mlme_get_vht_tx_su_beamformer(struct wlan_objmgr_psoc *psoc, bool *value) { struct wlan_mlme_psoc_obj *mlme_obj; @@ -1589,7 +1589,7 @@ wlan_mlme_get_vht_enable_tx_su_beam(struct wlan_objmgr_psoc *psoc, bool *value) return QDF_STATUS_E_FAILURE; } - *value = mlme_obj->cfg.vht_caps.vht_cap_info.enable_tx_su; + *value = mlme_obj->cfg.vht_caps.vht_cap_info.su_bfer; return QDF_STATUS_SUCCESS; } @@ -1817,13 +1817,15 @@ QDF_STATUS mlme_update_vht_cap(struct wlan_objmgr_psoc *psoc, value = (value & VHT_MCS_2x2) | (vht_cap_info->rx_mcs2x2 << 2); vht_cap_info->basic_mcs_set = value; - value = (CFG_VHT_RX_MCS_MAP_STADEF & VHT_MCS_1x1) | vht_cap_info->rx_mcs; + value = (CFG_VHT_RX_MCS_MAP_STADEF & VHT_MCS_1x1) | + vht_cap_info->rx_mcs; if (vht_cap_info->enable2x2) value = (value & VHT_MCS_2x2) | (vht_cap_info->rx_mcs2x2 << 2); vht_cap_info->rx_mcs_map = value; - value = (CFG_VHT_TX_MCS_MAP_STADEF & VHT_MCS_1x1) | vht_cap_info->tx_mcs; + value = (CFG_VHT_TX_MCS_MAP_STADEF & VHT_MCS_1x1) | + vht_cap_info->tx_mcs; if (vht_cap_info->enable2x2) value = (value & VHT_MCS_2x2) | (vht_cap_info->tx_mcs2x2 << 2); vht_cap_info->tx_mcs_map = value; @@ -1880,7 +1882,6 @@ QDF_STATUS mlme_update_vht_cap(struct wlan_objmgr_psoc *psoc, vht_cap_info->short_gi_160mhz = cfg->vht_short_gi_160; return QDF_STATUS_SUCCESS; - } QDF_STATUS mlme_update_nss_vht_cap(struct wlan_objmgr_psoc *psoc)