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
This commit is contained in:
Abhinav Kumar
2018-10-09 17:28:16 +05:30
committed by nshrivas
parent 265f49c9ea
commit e057b4188a
16 changed files with 209 additions and 209 deletions

View File

@@ -527,9 +527,9 @@ static void mlme_init_vht_cap_cfg(struct wlan_objmgr_psoc *psoc,
vht_cap_info->txop_ps = vht_cap_info->txop_ps =
cfg_default(CFG_VHT_TXOP_PS); cfg_default(CFG_VHT_TXOP_PS);
vht_cap_info->rx_mcs_map = 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 = 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 = vht_cap_info->basic_mcs_set =
CFG_VHT_BASIC_MCS_SET_STADEF; CFG_VHT_BASIC_MCS_SET_STADEF;
vht_cap_info->su_bformer = 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); cfg_get(psoc, CFG_VHT_BEAMFORMEE_ANT_SUPP);
vht_cap_info->enable_txbf_20mhz = 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 = vht_cap_info->ampdu_len =
cfg_get(psoc, CFG_VHT_MPDU_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); cfg_get(psoc, CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE);
if (vht_cap_info->enable2x2) 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); 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; vht_cap_info->num_soundingdim = NUM_OF_SOUNDING_DIMENSIONS;
} }

View File

@@ -59,6 +59,21 @@
CFG_VALUE_OR_DEFAULT, \ CFG_VALUE_OR_DEFAULT, \
"VHT BEAMFORMEE ANTENNA SUPPORTED CAP") "VHT BEAMFORMEE ANTENNA SUPPORTED CAP")
/*
* <ini>
* gEnableTxSUBeamformer - Enables TX Su beam former
* @Min: 0
* @Max: 1
* @Default: 0
*
* Related: NA
*
* Supported Feature: 11AC
*
* Usage: External
*
* </ini>
*/
#define CFG_VHT_ENABLE_TX_SU_BEAM_FORMER CFG_INI_BOOL( \ #define CFG_VHT_ENABLE_TX_SU_BEAM_FORMER CFG_INI_BOOL( \
"gEnableTxSUBeamformer", \ "gEnableTxSUBeamformer", \
0, \ 0, \
@@ -111,8 +126,43 @@
CFG_VALUE_OR_DEFAULT, \ CFG_VALUE_OR_DEFAULT, \
"VHT TX SUPP DATA RATE") "VHT TX SUPP DATA RATE")
#define CFG_VHT_ENABLE_TXBF_20MHZ CFG_INI_BOOL( \ /*
* <ini>
* gTxBFEnable - Enables SU beamformee caps
* @Min: 0
* @Max: 1
* @Default: 1
*
* Related: NA
*
* Supported Feature: 11AC
*
* Usage: External
*
* </ini>
*/
#define CFG_VHT_SU_BEAMFORMEE_CAP CFG_INI_BOOL( \
"gTxBFEnable", \ "gTxBFEnable", \
1, \
"VHT SU BEAMFORMEE CAPABILITY")
/*
* <ini>
* gEnableTxBFin20MHz - Enables TXBF in 20mhz
* @Min: 0
* @Max: 1
* @Default: 0
*
* Related: NA
*
* Supported Feature: 11AC
*
* Usage: External
*
* </ini>
*/
#define CFG_VHT_ENABLE_TXBF_IN_20MHZ CFG_INI_BOOL( \
"gEnableTxBFin20MHz", \
0, \ 0, \
"VHT ENABLE TXBF 20MHZ") "VHT ENABLE TXBF 20MHZ")
@@ -121,11 +171,6 @@
0, \ 0, \
"VHT SU BEAMFORMER CAP") "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( \ #define CFG_VHT_MU_BEAMFORMER_CAP CFG_BOOL( \
"mu_bformer", \ "mu_bformer", \
0, \ 0, \
@@ -349,17 +394,61 @@
0, \ 0, \
"VHT Enable MU Beamformee") "VHT Enable MU Beamformee")
/*
* <ini>
* gEnablePAID - Enables VHT paid feature
* @Min: 0
* @Max: 1
* @Default: 0
*
* Related: NA
*
* Supported Feature: 11AC
*
* Usage: External
*
* </ini>
*/
#define CFG_VHT_ENABLE_PAID_FEATURE CFG_INI_BOOL( \ #define CFG_VHT_ENABLE_PAID_FEATURE CFG_INI_BOOL( \
"gEnablePAID", \ "gEnablePAID", \
0, \ 0, \
"VHT Enable PAID") "VHT Enable PAID")
/*
* <ini>
* gEnableGID - Enables VHT gid feature
* @Min: 0
* @Max: 1
* @Default: 0
*
* Related: NA
*
* Supported Feature: 11AC
*
* Usage: External
*
* </ini>
*/
#define CFG_VHT_ENABLE_GID_FEATURE CFG_INI_BOOL( \ #define CFG_VHT_ENABLE_GID_FEATURE CFG_INI_BOOL( \
"gEnableGID", \ "gEnableGID", \
0, \ 0, \
"VHT Enable GID") "VHT Enable GID")
/* Parameter to control VHT support in 2.4 GHz band */ /*
* <ini>
* gEnableVhtFor24GHzBand - Enable VHT for 2.4GHZ in SAP mode
* @Min: 0
* @Max: 1
* @Default: 0
*
* Related: NA
*
* Supported Feature: 11AC
*
* Usage: External
*
* </ini>
*/
#define CFG_ENABLE_VHT_FOR_24GHZ CFG_INI_BOOL( \ #define CFG_ENABLE_VHT_FOR_24GHZ CFG_INI_BOOL( \
"gEnableVhtFor24GHzBand", \ "gEnableVhtFor24GHzBand", \
0, \ 0, \
@@ -386,7 +475,21 @@
1, \ 1, \
"VHT Enable Vendor for 24GHz") "VHT Enable Vendor for 24GHz")
/* Macro to handle maximum receive AMPDU size configuration */ /*
* <ini>
* gVhtAmpduLenExponent - maximum receive AMPDU size configuration
* @Min: 0
* @Max: 7
* @Default: 3
*
* Related: NA
*
* Supported Feature: 11AC
*
* Usage: External
*
* </ini>
*/
#define CFG_VHT_AMPDU_LEN_EXPONENT CFG_INI_UINT( \ #define CFG_VHT_AMPDU_LEN_EXPONENT CFG_INI_UINT( \
"gVhtAmpduLenExponent", \ "gVhtAmpduLenExponent", \
0, \ 0, \
@@ -395,6 +498,21 @@
CFG_VALUE_OR_DEFAULT, \ CFG_VALUE_OR_DEFAULT, \
"VHT AMPDU Len in Exponent") "VHT AMPDU Len in Exponent")
/*
* <ini>
* gVhtMpduLen - VHT MPDU length
* @Min: 0
* @Max: 2
* @Default: 0
*
* Related: NA
*
* Supported Feature: 11AC
*
* Usage: External
*
* </ini>
*/
#define CFG_VHT_MPDU_LEN CFG_INI_UINT( \ #define CFG_VHT_MPDU_LEN CFG_INI_UINT( \
"gVhtMpduLen", \ "gVhtMpduLen", \
0, \ 0, \
@@ -404,8 +522,19 @@
"VHT MPDU Length") "VHT MPDU Length")
/* /*
* Enable / Disable Tx beamformee in SAP mode * <ini>
* Default: Disable * gEnableTxBFeeSAP - Enable / Disable Tx beamformee in SAP mode
* @Min: 0
* @Max: 1
* @Default: 0
*
* Related: NA
*
* Supported Feature: 11AC
*
* Usage: External
*
* </ini>
*/ */
#define CFG_VHT_ENABLE_TXBF_SAP_MODE CFG_INI_BOOL( \ #define CFG_VHT_ENABLE_TXBF_SAP_MODE CFG_INI_BOOL( \
"gEnableTxBFeeSAP", \ "gEnableTxBFeeSAP", \
@@ -450,7 +579,7 @@
CFG(CFG_VHT_TX_ANT_PATTERN) \ CFG(CFG_VHT_TX_ANT_PATTERN) \
CFG(CFG_VHT_RX_SUPP_DATA_RATE) \ CFG(CFG_VHT_RX_SUPP_DATA_RATE) \
CFG(CFG_VHT_TX_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_CHANNEL_WIDTH) \
CFG(CFG_VHT_ENABLE_RX_MCS_8_9) \ CFG(CFG_VHT_ENABLE_RX_MCS_8_9) \
CFG(CFG_VHT_ENABLE_TX_MCS_8_9) \ CFG(CFG_VHT_ENABLE_TX_MCS_8_9) \

View File

@@ -777,7 +777,7 @@ QDF_STATUS wlan_mlme_cfg_set_vht_chan_width(struct wlan_objmgr_psoc *psoc,
* Return: QDF_STATUS * Return: QDF_STATUS
*/ */
QDF_STATUS wlan_mlme_cfg_get_vht_chan_width(struct wlan_objmgr_psoc *psoc, 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 * 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); uint8_t value);
/** /**
* wlan_mlme_cfg_get_vht_tx_bfee_ant_supp() - sets vht Beamformee antenna * wlan_mlme_cfg_get_vht_tx_bfee_ant_supp() - Gets vht Beamformee antenna
* support cap * support cap into cfg item
* into cfg item *
* @psoc: psoc context * @psoc: psoc context
* @value: data to be set * @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); 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 * @psoc: psoc context
* @value: data to be set * @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); 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 * @psoc: psoc context
* @value: data to be set * @value: data to be set
* *
* Return: QDF_STATUS * Return: QDF_STATUS
*/ */
QDF_STATUS wlan_mlme_get_vht_enable_tx_su_beam(struct wlan_objmgr_psoc *psoc, QDF_STATUS wlan_mlme_get_vht_tx_su_beamformer(struct wlan_objmgr_psoc *psoc,
bool *value); bool *value);
/** /**
* wlan_mlme_get_vht_channel_width() - gets Channel width capability * wlan_mlme_get_vht_channel_width() - gets Channel width capability

View File

@@ -32,12 +32,12 @@
#define CFG_VHT_BASIC_MCS_SET_STADEF 0xFFFE #define CFG_VHT_BASIC_MCS_SET_STADEF 0xFFFE
#define CFG_VHT_RX_MCS_MAP_STAMIN 0 #define CFG_VHT_RX_MCS_MAP_STAMIN 0
#define CFG_VHT_RX_MCS_MAP_STAMAX 65535 #define CFG_VHT_RX_MCS_MAP_STAMAX 0xFFFF
#define CFG_VHT_RX_MCS_MAP_STADEF 65534 #define CFG_VHT_RX_MCS_MAP_STADEF 0xFFFE
#define CFG_VHT_TX_MCS_MAP_STAMIN 0 #define CFG_VHT_TX_MCS_MAP_STAMIN 0
#define CFG_VHT_TX_MCS_MAP_STAMAX 65535 #define CFG_VHT_TX_MCS_MAP_STAMAX 0xFFFF
#define CFG_VHT_TX_MCS_MAP_STADEF 65534 #define CFG_VHT_TX_MCS_MAP_STADEF 0xFFFE
#define CFG_STR_DATA_LEN 17 #define CFG_STR_DATA_LEN 17
#define CFG_EDCA_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 * @tx_supp_data_rate: Tx highest supported data rate
* @basic_mcs_set: Basic MCS set * @basic_mcs_set: Basic MCS set
* @enable_txbf_20mhz: enable tx bf for 20mhz * @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 * @channel_width: Channel width capability for 11ac
* @rx_mcs: VHT Rx MCS capability for 1x1 mode * @rx_mcs: VHT Rx MCS capability for 1x1 mode
* @tx_mcs: VHT Tx 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 tx_supp_data_rate;
uint32_t basic_mcs_set; uint32_t basic_mcs_set;
bool enable_txbf_20mhz; bool enable_txbf_20mhz;
bool enable_tx_su; bool su_bfer;
uint8_t channel_width; uint8_t channel_width;
uint32_t rx_mcs; uint32_t rx_mcs;
uint32_t tx_mcs; uint32_t tx_mcs;

View File

@@ -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 * ucfg_mlme_set_enable_bcast_probe_rsp() - Set enable bcast probe resp info
*
* @psoc: pointer to psoc object * @psoc: pointer to psoc object
* @value: value that needs to be set from the caller * @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 * ucfg_mlme_set_vht_ch_width() - set the vht supported channel width cfg
* cfg item
* @psoc: psoc context * @psoc: psoc context
* @value: data to be set * @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 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
*/ */
static inline static inline
QDF_STATUS ucfg_mlme_cfg_set_vht_chan_width(struct wlan_objmgr_psoc *psoc, QDF_STATUS ucfg_mlme_set_vht_ch_width(struct wlan_objmgr_psoc *psoc,
uint8_t value) uint8_t value)
{ {
return wlan_mlme_cfg_set_vht_chan_width(psoc, 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 * ucfg_mlme_cfg_get_short_gi_160_mhz() - Get SHORT GI 160MHZ from cfg item
* cfg item
* @psoc: psoc context * @psoc: psoc context
* @value: data to be set * @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 * cfg item
* @psoc: psoc context * @psoc: psoc context
* @value: pointer to get required data * @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 * for 11ac
* @psoc: psoc context * @psoc: psoc context
* @value: data to be set * @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 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
*/ */
static inline QDF_STATUS 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);
} }
/** /**

View File

@@ -1579,7 +1579,7 @@ wlan_mlme_get_vht_enable_tx_bf(struct wlan_objmgr_psoc *psoc, bool *value)
} }
QDF_STATUS 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; 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; 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; 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); value = (value & VHT_MCS_2x2) | (vht_cap_info->rx_mcs2x2 << 2);
vht_cap_info->basic_mcs_set = value; 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) if (vht_cap_info->enable2x2)
value = (value & VHT_MCS_2x2) | (vht_cap_info->rx_mcs2x2 << 2); value = (value & VHT_MCS_2x2) | (vht_cap_info->rx_mcs2x2 << 2);
vht_cap_info->rx_mcs_map = value; 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) if (vht_cap_info->enable2x2)
value = (value & VHT_MCS_2x2) | (vht_cap_info->tx_mcs2x2 << 2); value = (value & VHT_MCS_2x2) | (vht_cap_info->tx_mcs2x2 << 2);
vht_cap_info->tx_mcs_map = value; 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; vht_cap_info->short_gi_160mhz = cfg->vht_short_gi_160;
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
QDF_STATUS mlme_update_nss_vht_cap(struct wlan_objmgr_psoc *psoc) QDF_STATUS mlme_update_nss_vht_cap(struct wlan_objmgr_psoc *psoc)

View File

@@ -6429,7 +6429,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
cfg_val = nla_get_u8(tb[ cfg_val = nla_get_u8(tb[
QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_TX_BEAMFORMEE_NSTS]); QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_TX_BEAMFORMEE_NSTS]);
status = ucfg_mlme_cfg_get_vht_tx_bfee_ant_supp(hdd_ctx->psoc, status = ucfg_mlme_cfg_get_vht_tx_bfee_ant_supp(hdd_ctx->psoc,
&value); &value);
if (!QDF_IS_STATUS_SUCCESS(status)) if (!QDF_IS_STATUS_SUCCESS(status))
hdd_err("unable to get tx_bfee_ant_supp"); hdd_err("unable to get tx_bfee_ant_supp");

View File

@@ -137,9 +137,8 @@ void hdd_update_tgt_he_cap(struct hdd_context *hdd_ctx,
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_LTF_NDP, hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_LTF_NDP,
he_cap->he_4x_ltf_3200_gi_ndp); he_cap->he_4x_ltf_3200_gi_ndp);
status = ucfg_mlme_cfg_get_vht_rx_stbc(hdd_ctx->psoc, status = ucfg_mlme_cfg_get_vht_rx_stbc(hdd_ctx->psoc, &bval);
&bval); if (QDF_IS_STATUS_ERROR(status))
if (!QDF_IS_STATUS_SUCCESS(status))
hdd_err("unable to get vht_enable_rx_su_beam"); hdd_err("unable to get vht_enable_rx_su_beam");
if (bval) { if (bval) {
@@ -172,8 +171,7 @@ void hdd_update_tgt_he_cap(struct hdd_context *hdd_ctx,
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_DCM_RX, he_cap->dcm_enc_rx); hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_DCM_RX, he_cap->dcm_enc_rx);
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_MU_PPDU, he_cap->ul_he_mu); hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_MU_PPDU, he_cap->ul_he_mu);
status = ucfg_mlme_get_vht_enable_tx_su_beam(hdd_ctx->psoc, status = ucfg_mlme_get_vht_tx_su_beamformer(hdd_ctx->psoc, &bval);
&bval);
if (!QDF_IS_STATUS_SUCCESS(status)) if (!QDF_IS_STATUS_SUCCESS(status))
hdd_err("unable to get vht_enable_tx_su_beam"); hdd_err("unable to get vht_enable_tx_su_beam");
@@ -193,8 +191,7 @@ void hdd_update_tgt_he_cap(struct hdd_context *hdd_ctx,
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_MU_BEAMFORMER, 0); hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_MU_BEAMFORMER, 0);
} }
status = ucfg_mlme_get_vht_enable_tx_bf(hdd_ctx->psoc, status = ucfg_mlme_get_vht_enable_tx_bf(hdd_ctx->psoc, &bval);
&bval);
if (!QDF_IS_STATUS_SUCCESS(status)) if (!QDF_IS_STATUS_SUCCESS(status))
hdd_err("unable to get vht_enable_tx_bf"); hdd_err("unable to get vht_enable_tx_bf");
if (bval) { if (bval) {

View File

@@ -144,8 +144,6 @@
#include "wlan_tdls_cfg_api.h" #include "wlan_tdls_cfg_api.h"
#include <wlan_hdd_rssi_monitor.h> #include <wlan_hdd_rssi_monitor.h>
#include "wlan_mlme_ucfg_api.h" #include "wlan_mlme_ucfg_api.h"
#include "cfg_mlme_acs.h"
#include "wlan_mlme_public_struct.h"
#include "wlan_fwol_ucfg_api.h" #include "wlan_fwol_ucfg_api.h"
#include "wlan_policy_mgr_ucfg.h" #include "wlan_policy_mgr_ucfg.h"
#ifdef CNSS_GENL #ifdef CNSS_GENL
@@ -1390,7 +1388,8 @@ static void hdd_update_wiphy_vhtcap(struct hdd_context *hdd_ctx)
if (!QDF_IS_STATUS_SUCCESS(status)) if (!QDF_IS_STATUS_SUCCESS(status))
hdd_err("unable to get tx_bfee_ant_supp"); hdd_err("unable to get tx_bfee_ant_supp");
band_5g->vht_cap.cap |= (value << IEEE80211_VHT_CAP_BEAMFORMEE_STS_SHIFT); band_5g->vht_cap.cap |=
(value << IEEE80211_VHT_CAP_BEAMFORMEE_STS_SHIFT);
value1 = NUM_OF_SOUNDING_DIMENSIONS; value1 = NUM_OF_SOUNDING_DIMENSIONS;
band_5g->vht_cap.cap |= band_5g->vht_cap.cap |=
@@ -1490,7 +1489,7 @@ static void hdd_update_tgt_ht_cap(struct hdd_context *hdd_ctx,
if (!QDF_IS_STATUS_SUCCESS(status)) if (!QDF_IS_STATUS_SUCCESS(status))
hdd_err("unable to set vht_enable2x2"); hdd_err("unable to set vht_enable2x2");
if (b_enable1x1 == false) { if (!b_enable1x1) {
ht_cap_info.tx_stbc = 0; ht_cap_info.tx_stbc = 0;
/* 1x1 */ /* 1x1 */
@@ -1567,18 +1566,16 @@ static void hdd_update_tgt_vht_cap(struct hdd_context *hdd_ctx,
if (cfg->supp_chan_width & (1 << eHT_CHANNEL_WIDTH_80P80MHZ)) { if (cfg->supp_chan_width & (1 << eHT_CHANNEL_WIDTH_80P80MHZ)) {
status = status = ucfg_mlme_set_vht_ch_width(hdd_ctx->psoc,
ucfg_mlme_cfg_set_vht_chan_width(hdd_ctx->psoc, VHT_CAP_160_AND_80P80_SUPP);
VHT_CAP_160_AND_80P80_SUPP);
if (QDF_IS_STATUS_ERROR(status)) if (QDF_IS_STATUS_ERROR(status))
hdd_err("could not set the VHT CAP 160"); hdd_err("could not set the VHT CAP 160");
band_5g->vht_cap.cap |= band_5g->vht_cap.cap |=
IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ; IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ;
ch_width = eHT_CHANNEL_WIDTH_80P80MHZ; ch_width = eHT_CHANNEL_WIDTH_80P80MHZ;
} else if (cfg->supp_chan_width & (1 << eHT_CHANNEL_WIDTH_160MHZ)) { } else if (cfg->supp_chan_width & (1 << eHT_CHANNEL_WIDTH_160MHZ)) {
status = status = ucfg_mlme_set_vht_ch_width(hdd_ctx->psoc,
ucfg_mlme_cfg_set_vht_chan_width(hdd_ctx->psoc, VHT_CAP_160_SUPP);
VHT_CAP_160_SUPP);
if (QDF_IS_STATUS_ERROR(status)) if (QDF_IS_STATUS_ERROR(status))
hdd_err("could not set the VHT CAP 160"); hdd_err("could not set the VHT CAP 160");
band_5g->vht_cap.cap |= band_5g->vht_cap.cap |=
@@ -1592,8 +1589,7 @@ static void hdd_update_tgt_vht_cap(struct hdd_context *hdd_ctx,
hdd_err("could not get channel_width"); hdd_err("could not get channel_width");
val = QDF_MIN(val, ch_width); val = QDF_MIN(val, ch_width);
status = status = ucfg_mlme_set_vht_ch_width(hdd_ctx->psoc, val);
ucfg_mlme_cfg_set_vht_chan_width(hdd_ctx->psoc, val);
if (QDF_IS_STATUS_ERROR(status)) if (QDF_IS_STATUS_ERROR(status))
hdd_err("could not set the channel width"); hdd_err("could not set the channel width");
@@ -1903,7 +1899,7 @@ void hdd_update_tgt_cfg(hdd_handle_t hdd_handle, struct wma_tgt_cfg *cfg)
hdd_update_ra_rate_limit(hdd_ctx, cfg); hdd_update_ra_rate_limit(hdd_ctx, cfg);
status = ucfg_mlme_cfg_get_vht_tx_bfee_ant_supp(hdd_ctx->psoc, status = ucfg_mlme_cfg_get_vht_tx_bfee_ant_supp(hdd_ctx->psoc,
&value); &value);
if (QDF_IS_STATUS_ERROR(status)) { if (QDF_IS_STATUS_ERROR(status)) {
status = false; status = false;
hdd_err("set tx_bfee_ant_supp failed"); hdd_err("set tx_bfee_ant_supp failed");

View File

@@ -3947,7 +3947,7 @@ int wlan_hdd_get_station_remote(struct wiphy *wiphy,
* @tx_nss: The TX NSS from fw stats * @tx_nss: The TX NSS from fw stats
* *
* Return: 0 for success * Return: 0 for success
nt wlan_hdd_update_phymode(struct net_device *net, mac_handle_t mac_handle, int */ */
static int hdd_report_max_rate(mac_handle_t mac_handle, static int hdd_report_max_rate(mac_handle_t mac_handle,
struct hdd_config *config, struct hdd_config *config,
struct station_info *sinfo, struct station_info *sinfo,
@@ -4084,8 +4084,8 @@ static int hdd_report_max_rate(mac_handle_t mac_handle,
/* VHT80 rate has separate rate table */ /* VHT80 rate has separate rate table */
if (tx_rate_flags & (TX_RATE_VHT20 | TX_RATE_VHT40 | if (tx_rate_flags & (TX_RATE_VHT20 | TX_RATE_VHT40 |
TX_RATE_VHT80)) { TX_RATE_VHT80)) {
stat = ucfg_mlme_cfg_get_vht_tx_mcs_map(hdd_ctx->psoc, stat = ucfg_mlme_cfg_get_vht_tx_mcs_map(hdd_ctx->psoc,
&vht_mcs_map); &vht_mcs_map);
if (QDF_IS_STATUS_ERROR(stat)) if (QDF_IS_STATUS_ERROR(stat))
hdd_err("failed to get tx_mcs_map"); hdd_err("failed to get tx_mcs_map");
vht_max_mcs = (enum data_rate_11ac_max_mcs) vht_max_mcs = (enum data_rate_11ac_max_mcs)

View File

@@ -597,42 +597,6 @@ enum {
#define WNI_CFG_GREENFIELD_CAPABILITY_ENABLE 1 #define WNI_CFG_GREENFIELD_CAPABILITY_ENABLE 1
#define WNI_CFG_GREENFIELD_CAPABILITY_DISABLE 0 #define WNI_CFG_GREENFIELD_CAPABILITY_DISABLE 0
#define WNI_CFG_VHT_MAX_MPDU_LENGTH_STAMIN 0
#define WNI_CFG_VHT_MAX_MPDU_LENGTH_STAMAX 2
#define WNI_CFG_VHT_MAX_MPDU_LENGTH_STADEF 0
#define WNI_CFG_VHT_SUPPORTED_CHAN_WIDTH_SET_STAMIN 0
#define WNI_CFG_VHT_SUPPORTED_CHAN_WIDTH_SET_STAMAX 2
#define WNI_CFG_VHT_SUPPORTED_CHAN_WIDTH_SET_STADEF 0
#define WNI_CFG_VHT_LDPC_CODING_CAP_STAMIN 0
#define WNI_CFG_VHT_LDPC_CODING_CAP_STAMAX 1
#define WNI_CFG_VHT_LDPC_CODING_CAP_STADEF 0
#define WNI_CFG_VHT_SHORT_GI_80MHZ_STAMIN 0
#define WNI_CFG_VHT_SHORT_GI_80MHZ_STAMAX 1
#define WNI_CFG_VHT_SHORT_GI_80MHZ_STADEF 1
#define WNI_CFG_VHT_SHORT_GI_160_AND_80_PLUS_80MHZ_STAMIN 0
#define WNI_CFG_VHT_SHORT_GI_160_AND_80_PLUS_80MHZ_STAMAX 1
#define WNI_CFG_VHT_SHORT_GI_160_AND_80_PLUS_80MHZ_STADEF 0
#define WNI_CFG_VHT_TXSTBC_STAMIN 0
#define WNI_CFG_VHT_TXSTBC_STAMAX 1
#define WNI_CFG_VHT_TXSTBC_STADEF 0
#define WNI_CFG_VHT_RXSTBC_STAMIN 0
#define WNI_CFG_VHT_RXSTBC_STAMAX 1
#define WNI_CFG_VHT_RXSTBC_STADEF 1
#define WNI_CFG_VHT_SU_BEAMFORMER_CAP_STAMIN 0
#define WNI_CFG_VHT_SU_BEAMFORMER_CAP_STAMAX 1
#define WNI_CFG_VHT_SU_BEAMFORMER_CAP_STADEF 0
#define WNI_CFG_VHT_SU_BEAMFORMEE_CAP_STAMIN 0
#define WNI_CFG_VHT_SU_BEAMFORMEE_CAP_STAMAX 1
#define WNI_CFG_VHT_SU_BEAMFORMEE_CAP_STADEF 1
/* /*
* WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_FW_DEF + 1 is * WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_FW_DEF + 1 is
* assumed to be the default fw supported BF antennas, if fw * assumed to be the default fw supported BF antennas, if fw
@@ -643,85 +607,6 @@ enum {
*/ */
#define WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_FW_DEF 3 #define WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_FW_DEF 3
#define WNI_CFG_VHT_NUM_SOUNDING_DIMENSIONS_STAMIN 0
#define WNI_CFG_VHT_NUM_SOUNDING_DIMENSIONS_STAMAX 3
#define WNI_CFG_VHT_NUM_SOUNDING_DIMENSIONS_STADEF 0
#define WNI_CFG_VHT_MU_BEAMFORMER_CAP_STAMIN 0
#define WNI_CFG_VHT_MU_BEAMFORMER_CAP_STAMAX 1
#define WNI_CFG_VHT_MU_BEAMFORMER_CAP_STADEF 0
#define WNI_CFG_VHT_MU_BEAMFORMEE_CAP_STAMIN 0
#define WNI_CFG_VHT_MU_BEAMFORMEE_CAP_STAMAX 1
#define WNI_CFG_VHT_MU_BEAMFORMEE_CAP_STADEF 0
#define WNI_CFG_VHT_TXOP_PS_STAMIN 0
#define WNI_CFG_VHT_TXOP_PS_STAMAX 1
#define WNI_CFG_VHT_TXOP_PS_STADEF 0
#define WNI_CFG_VHT_HTC_VHTC_CAP_STAMIN 0
#define WNI_CFG_VHT_HTC_VHTC_CAP_STAMAX 1
#define WNI_CFG_VHT_HTC_VHTC_CAP_STADEF 0
#define WNI_CFG_VHT_AMPDU_LEN_EXPONENT_STAMIN 0
#define WNI_CFG_VHT_AMPDU_LEN_EXPONENT_STAMAX 7
#define WNI_CFG_VHT_AMPDU_LEN_EXPONENT_STADEF 3
#define WNI_CFG_VHT_LINK_ADAPTATION_CAP_STAMIN 0
#define WNI_CFG_VHT_LINK_ADAPTATION_CAP_STAMAX 3
#define WNI_CFG_VHT_LINK_ADAPTATION_CAP_STADEF 0
#define WNI_CFG_VHT_RX_ANT_PATTERN_STAMIN 0
#define WNI_CFG_VHT_RX_ANT_PATTERN_STAMAX 1
#define WNI_CFG_VHT_RX_ANT_PATTERN_STADEF 1
#define WNI_CFG_VHT_TX_ANT_PATTERN_STAMIN 0
#define WNI_CFG_VHT_TX_ANT_PATTERN_STAMAX 1
#define WNI_CFG_VHT_TX_ANT_PATTERN_STADEF 1
#define WNI_CFG_VHT_RX_MCS_MAP_STAMIN 0
#define WNI_CFG_VHT_RX_MCS_MAP_STAMAX 65535
#define WNI_CFG_VHT_RX_MCS_MAP_STADEF 65534
#define WNI_CFG_VHT_TX_MCS_MAP_STAMIN 0
#define WNI_CFG_VHT_TX_MCS_MAP_STAMAX 65535
#define WNI_CFG_VHT_TX_MCS_MAP_STADEF 65534
#define WNI_CFG_VHT_RX_HIGHEST_SUPPORTED_DATA_RATE_STAMIN 0
#define WNI_CFG_VHT_RX_HIGHEST_SUPPORTED_DATA_RATE_STAMAX 780
#define WNI_CFG_VHT_RX_HIGHEST_SUPPORTED_DATA_RATE_STADEF 780
#define WNI_CFG_VHT_TX_HIGHEST_SUPPORTED_DATA_RATE_STAMIN 0
#define WNI_CFG_VHT_TX_HIGHEST_SUPPORTED_DATA_RATE_STAMAX 780
#define WNI_CFG_VHT_TX_HIGHEST_SUPPORTED_DATA_RATE_STADEF 780
#define WNI_CFG_VHT_BASIC_MCS_SET_STAMIN 0
#define WNI_CFG_VHT_BASIC_MCS_SET_STAMAX 65535
#define WNI_CFG_VHT_BASIC_MCS_SET_STADEF 65534
#define WNI_CFG_VHT_MU_MIMO_CAP_STA_COUNT_STAMIN 0
#define WNI_CFG_VHT_MU_MIMO_CAP_STA_COUNT_STAMAX 4
#define WNI_CFG_VHT_MU_MIMO_CAP_STA_COUNT_STADEF 0
#define WNI_CFG_VHT_SS_UNDER_UTIL_STAMIN 0
#define WNI_CFG_VHT_SS_UNDER_UTIL_STAMAX 0
#define WNI_CFG_VHT_SS_UNDER_UTIL_STADEF 0
#define WNI_CFG_VHT_40MHZ_UTILIZATION_STAMIN 0
#define WNI_CFG_VHT_40MHZ_UTILIZATION_STAMAX 0
#define WNI_CFG_VHT_40MHZ_UTILIZATION_STADEF 0
#define WNI_CFG_VHT_80MHZ_UTILIZATION_STAMIN 0
#define WNI_CFG_VHT_80MHZ_UTILIZATION_STAMAX 0
#define WNI_CFG_VHT_80MHZ_UTILIZATION_STADEF 0
#define WNI_CFG_VHT_160MHZ_UTILIZATION_STAMIN 0
#define WNI_CFG_VHT_160MHZ_UTILIZATION_STAMAX 0
#define WNI_CFG_VHT_160MHZ_UTILIZATION_STADEF 0
#define WNI_CFG_MAX_AMSDU_LENGTH_STAMIN 0
#define WNI_CFG_MAX_AMSDU_LENGTH_STAMAX 1
#define WNI_CFG_MAX_AMSDU_LENGTH_STADEF 0
#define WNI_CFG_MAX_AMSDU_LENGTH_SHORT_3839_BYTES 0 #define WNI_CFG_MAX_AMSDU_LENGTH_SHORT_3839_BYTES 0
#define WNI_CFG_MAX_AMSDU_LENGTH_LONG_7935__BYTES 1 #define WNI_CFG_MAX_AMSDU_LENGTH_LONG_7935__BYTES 1
@@ -810,10 +695,6 @@ enum {
#define WNI_CFG_IBSS_ATIM_WIN_SIZE_STAMAX 100 #define WNI_CFG_IBSS_ATIM_WIN_SIZE_STAMAX 100
#define WNI_CFG_IBSS_ATIM_WIN_SIZE_STADEF 0 #define WNI_CFG_IBSS_ATIM_WIN_SIZE_STADEF 0
#define WNI_CFG_VHT_ENABLE_TXBF_20MHZ_STAMIN 0
#define WNI_CFG_VHT_ENABLE_TXBF_20MHZ_STAMAX 1
#define WNI_CFG_VHT_ENABLE_TXBF_20MHZ_STADEF 0
#define WNI_CFG_MAX_HT_MCS_TX_DATA_STAMIN 0x0 #define WNI_CFG_MAX_HT_MCS_TX_DATA_STAMIN 0x0
#define WNI_CFG_MAX_HT_MCS_TX_DATA_STAMAX 0x17f #define WNI_CFG_MAX_HT_MCS_TX_DATA_STAMAX 0x17f
#define WNI_CFG_MAX_HT_MCS_TX_DATA_STADEF 0x0 #define WNI_CFG_MAX_HT_MCS_TX_DATA_STADEF 0x0

View File

@@ -1350,7 +1350,7 @@ QDF_STATUS lim_populate_vht_mcs_set(tpAniSirGlobal mac_ctx,
rates->vhtRxMCSMap = (uint16_t)vht_cap_info.rx_mcs_map; rates->vhtRxMCSMap = (uint16_t)vht_cap_info.rx_mcs_map;
rates->vhtTxMCSMap = (uint16_t)vht_cap_info.tx_mcs_map; rates->vhtTxMCSMap = (uint16_t)vht_cap_info.tx_mcs_map;
rates->vhtRxHighestDataRate = rates->vhtRxHighestDataRate =
(uint16_t) vht_cap_info.rx_supp_data_rate; (uint16_t)vht_cap_info.rx_supp_data_rate;
rates->vhtTxHighestDataRate = (uint16_t)vht_cap_info.tx_supp_data_rate; rates->vhtTxHighestDataRate = (uint16_t)vht_cap_info.tx_supp_data_rate;
if (NSS_1x1_MODE == nss) { if (NSS_1x1_MODE == nss) {
@@ -1361,8 +1361,8 @@ QDF_STATUS lim_populate_vht_mcs_set(tpAniSirGlobal mac_ctx,
rates->vhtRxHighestDataRate = rates->vhtRxHighestDataRate =
VHT_RX_HIGHEST_SUPPORTED_DATA_RATE_1_1; VHT_RX_HIGHEST_SUPPORTED_DATA_RATE_1_1;
if (session_entry && !session_entry->ch_width && if (session_entry && !session_entry->ch_width &&
!mac_ctx->mlme_cfg->vht_caps.vht_cap_info.enable_vht20_mcs9 && !vht_cap_info.enable_vht20_mcs9 &&
((rates->vhtRxMCSMap & VHT_1x1_MCS_MASK) == ((rates->vhtRxMCSMap & VHT_1x1_MCS_MASK) ==
VHT_1x1_MCS9_MAP)) { VHT_1x1_MCS9_MAP)) {
DISABLE_VHT_MCS_9(rates->vhtRxMCSMap, DISABLE_VHT_MCS_9(rates->vhtRxMCSMap,
NSS_1x1_MODE); NSS_1x1_MODE);

View File

@@ -231,7 +231,7 @@ lim_send_probe_req_mgmt_frame(tpAniSirGlobal mac_ctx,
* is false and dot11mode is 11ac set it to 11n. * is false and dot11mode is 11ac set it to 11n.
*/ */
if (channel <= SIR_11B_CHANNEL_END && if (channel <= SIR_11B_CHANNEL_END &&
(false == mac_ctx->mlme_cfg->vht_caps.vht_cap_info.b24ghz_band) && !mac_ctx->mlme_cfg->vht_caps.vht_cap_info.b24ghz_band &&
(WNI_CFG_DOT11_MODE_11AC == dot11mode || (WNI_CFG_DOT11_MODE_11AC == dot11mode ||
WNI_CFG_DOT11_MODE_11AC_ONLY == dot11mode)) WNI_CFG_DOT11_MODE_11AC_ONLY == dot11mode))
dot11mode = WNI_CFG_DOT11_MODE_11N; dot11mode = WNI_CFG_DOT11_MODE_11N;

View File

@@ -1013,7 +1013,7 @@ populate_dot11f_vht_caps(tpAniSirGlobal pMac,
pDot11f->rxHighSupDataRate = pDot11f->rxHighSupDataRate =
VHT_RX_HIGHEST_SUPPORTED_DATA_RATE_1_1; VHT_RX_HIGHEST_SUPPORTED_DATA_RATE_1_1;
if (!psessionEntry->ch_width && if (!psessionEntry->ch_width &&
!pMac->mlme_cfg->vht_caps.vht_cap_info.enable_vht20_mcs9 && !vht_cap_info.enable_vht20_mcs9 &&
((pDot11f->txMCSMap & VHT_1x1_MCS_MASK) == ((pDot11f->txMCSMap & VHT_1x1_MCS_MASK) ==
VHT_1x1_MCS9_MAP)) { VHT_1x1_MCS9_MAP)) {
DISABLE_VHT_MCS_9(pDot11f->txMCSMap, DISABLE_VHT_MCS_9(pDot11f->txMCSMap,
@@ -1023,7 +1023,7 @@ populate_dot11f_vht_caps(tpAniSirGlobal pMac,
} }
} else { } else {
if (!psessionEntry->ch_width && if (!psessionEntry->ch_width &&
!pMac->mlme_cfg->vht_caps.vht_cap_info.enable_vht20_mcs9 && !vht_cap_info.enable_vht20_mcs9 &&
((pDot11f->txMCSMap & VHT_2x2_MCS_MASK) == ((pDot11f->txMCSMap & VHT_2x2_MCS_MASK) ==
VHT_2x2_MCS9_MAP)) { VHT_2x2_MCS9_MAP)) {
DISABLE_VHT_MCS_9(pDot11f->txMCSMap, DISABLE_VHT_MCS_9(pDot11f->txMCSMap,

View File

@@ -13170,8 +13170,8 @@ enum csr_cfgdot11mode curr_mode = mac_ctx->roam.configParam.uCfgDot11Mode;
} }
if (IS_24G_CH(opr_chn) && if (IS_24G_CH(opr_chn) &&
(false == mac_ctx->mlme_cfg->vht_caps.vht_cap_info.b24ghz_band) && !mac_ctx->mlme_cfg->vht_caps.vht_cap_info.b24ghz_band &&
(eCSR_CFG_DOT11_MODE_11AC == cfg_dot11_mode || (eCSR_CFG_DOT11_MODE_11AC == cfg_dot11_mode ||
eCSR_CFG_DOT11_MODE_11AC_ONLY == cfg_dot11_mode)) eCSR_CFG_DOT11_MODE_11AC_ONLY == cfg_dot11_mode))
cfg_dot11_mode = eCSR_CFG_DOT11_MODE_11N; cfg_dot11_mode = eCSR_CFG_DOT11_MODE_11N;
/* /*
@@ -15278,9 +15278,9 @@ QDF_STATUS csr_send_join_req_msg(tpAniSirGlobal pMac, uint32_t sessionId,
csr_translate_to_wni_cfg_dot11_mode(pMac, csr_translate_to_wni_cfg_dot11_mode(pMac,
pSession->bssParams. pSession->bssParams.
uCfgDot11Mode); uCfgDot11Mode);
if (pBssDescription->channelId <= 14 if (pBssDescription->channelId <= 14 &&
&& false == pMac->mlme_cfg->vht_caps.vht_cap_info.b24ghz_band !pMac->mlme_cfg->vht_caps.vht_cap_info.b24ghz_band &&
&& WNI_CFG_DOT11_MODE_11AC == ucDot11Mode) { WNI_CFG_DOT11_MODE_11AC == ucDot11Mode) {
/* Need to disable VHT operation in 2.4 GHz band */ /* Need to disable VHT operation in 2.4 GHz band */
ucDot11Mode = WNI_CFG_DOT11_MODE_11N; ucDot11Mode = WNI_CFG_DOT11_MODE_11N;
} }
@@ -15847,11 +15847,9 @@ QDF_STATUS csr_send_join_req_msg(tpAniSirGlobal pMac, uint32_t sessionId,
* and AP is SU Bformee capable * and AP is SU Bformee capable
*/ */
if (bvalue && !((IS_BSS_VHT_CAPABLE(pIes->VHTCaps) && if (bvalue && !((IS_BSS_VHT_CAPABLE(pIes->VHTCaps) &&
pIes->VHTCaps.suBeamformeeCap) || pIes->VHTCaps.suBeamformeeCap) ||
(IS_BSS_VHT_CAPABLE( (IS_BSS_VHT_CAPABLE(pIes->vendor_vht_ie.VHTCaps) &&
pIes->vendor_vht_ie.VHTCaps) pIes->vendor_vht_ie.VHTCaps.suBeamformeeCap)))
&& pIes->vendor_vht_ie.VHTCaps.
suBeamformeeCap)))
bvalue = 0; bvalue = 0;
csr_join_req->vht_config.su_beam_former = bvalue; csr_join_req->vht_config.su_beam_former = bvalue;
@@ -17071,7 +17069,8 @@ QDF_STATUS csr_roam_open_session(tpAniSirGlobal mac_ctx,
vht_cap_info.supp_chan_width; vht_cap_info.supp_chan_width;
session->vht_config.ldpc_coding = vht_cap_info.ldpc_coding_cap; session->vht_config.ldpc_coding = vht_cap_info.ldpc_coding_cap;
session->vht_config.shortgi80 = vht_cap_info.short_gi_80mhz; session->vht_config.shortgi80 = vht_cap_info.short_gi_80mhz;
session->vht_config.shortgi160and80plus80 = vht_cap_info.short_gi_160mhz; session->vht_config.shortgi160and80plus80 =
vht_cap_info.short_gi_160mhz;
session->vht_config.tx_stbc = vht_cap_info.tx_stbc; session->vht_config.tx_stbc = vht_cap_info.tx_stbc;
session->vht_config.rx_stbc = vht_cap_info.rx_stbc; session->vht_config.rx_stbc = vht_cap_info.rx_stbc;
session->vht_config.su_beam_former = vht_cap_info.su_bformer; session->vht_config.su_beam_former = vht_cap_info.su_bformer;
@@ -20523,8 +20522,8 @@ QDF_STATUS csr_roam_channel_change_req(tpAniSirGlobal pMac,
pMsg->dot11mode = csr_translate_to_wni_cfg_dot11_mode(pMac, pMsg->dot11mode = csr_translate_to_wni_cfg_dot11_mode(pMac,
param.uCfgDot11Mode); param.uCfgDot11Mode);
if (IS_24G_CH(pMsg->targetChannel) && if (IS_24G_CH(pMsg->targetChannel) &&
(false == pMac->mlme_cfg->vht_caps.vht_cap_info.b24ghz_band) && !pMac->mlme_cfg->vht_caps.vht_cap_info.b24ghz_band &&
(WNI_CFG_DOT11_MODE_11AC == pMsg->dot11mode || (WNI_CFG_DOT11_MODE_11AC == pMsg->dot11mode ||
WNI_CFG_DOT11_MODE_11AC_ONLY == pMsg->dot11mode)) WNI_CFG_DOT11_MODE_11AC_ONLY == pMsg->dot11mode))
pMsg->dot11mode = WNI_CFG_DOT11_MODE_11N; pMsg->dot11mode = WNI_CFG_DOT11_MODE_11N;
pMsg->nw_type = param.sirNwType; pMsg->nw_type = param.sirNwType;

View File

@@ -499,7 +499,7 @@ static uint32_t csr_get_dot11_mode(tpAniSirGlobal mac_ctx,
dot11mode, ucfg_dot11_mode); dot11mode, ucfg_dot11_mode);
if (bss_desc->channelId <= 14 && if (bss_desc->channelId <= 14 &&
false == mac_ctx->mlme_cfg->vht_caps.vht_cap_info.b24ghz_band && !mac_ctx->mlme_cfg->vht_caps.vht_cap_info.b24ghz_band &&
WNI_CFG_DOT11_MODE_11AC == dot11mode) { WNI_CFG_DOT11_MODE_11AC == dot11mode) {
/* Need to disable VHT operation in 2.4 GHz band */ /* Need to disable VHT operation in 2.4 GHz band */
dot11mode = WNI_CFG_DOT11_MODE_11N; dot11mode = WNI_CFG_DOT11_MODE_11N;