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:
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -59,6 +59,21 @@
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"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( \
|
||||
"gEnableTxSUBeamformer", \
|
||||
0, \
|
||||
@@ -111,8 +126,43 @@
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"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", \
|
||||
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, \
|
||||
"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")
|
||||
|
||||
/*
|
||||
* <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( \
|
||||
"gEnablePAID", \
|
||||
0, \
|
||||
"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( \
|
||||
"gEnableGID", \
|
||||
0, \
|
||||
"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( \
|
||||
"gEnableVhtFor24GHzBand", \
|
||||
0, \
|
||||
@@ -386,7 +475,21 @@
|
||||
1, \
|
||||
"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( \
|
||||
"gVhtAmpduLenExponent", \
|
||||
0, \
|
||||
@@ -395,6 +498,21 @@
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"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( \
|
||||
"gVhtMpduLen", \
|
||||
0, \
|
||||
@@ -404,8 +522,19 @@
|
||||
"VHT MPDU Length")
|
||||
|
||||
/*
|
||||
* Enable / Disable Tx beamformee in SAP mode
|
||||
* Default: Disable
|
||||
* <ini>
|
||||
* 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( \
|
||||
"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) \
|
||||
|
@@ -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
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -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)
|
||||
|
@@ -6429,7 +6429,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
|
||||
cfg_val = nla_get_u8(tb[
|
||||
QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_TX_BEAMFORMEE_NSTS]);
|
||||
status = ucfg_mlme_cfg_get_vht_tx_bfee_ant_supp(hdd_ctx->psoc,
|
||||
&value);
|
||||
&value);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status))
|
||||
hdd_err("unable to get tx_bfee_ant_supp");
|
||||
|
||||
|
@@ -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,
|
||||
he_cap->he_4x_ltf_3200_gi_ndp);
|
||||
|
||||
status = ucfg_mlme_cfg_get_vht_rx_stbc(hdd_ctx->psoc,
|
||||
&bval);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status))
|
||||
status = ucfg_mlme_cfg_get_vht_rx_stbc(hdd_ctx->psoc, &bval);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
hdd_err("unable to get vht_enable_rx_su_beam");
|
||||
|
||||
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_MU_PPDU, he_cap->ul_he_mu);
|
||||
|
||||
status = ucfg_mlme_get_vht_enable_tx_su_beam(hdd_ctx->psoc,
|
||||
&bval);
|
||||
status = ucfg_mlme_get_vht_tx_su_beamformer(hdd_ctx->psoc, &bval);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status))
|
||||
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);
|
||||
}
|
||||
|
||||
status = ucfg_mlme_get_vht_enable_tx_bf(hdd_ctx->psoc,
|
||||
&bval);
|
||||
status = ucfg_mlme_get_vht_enable_tx_bf(hdd_ctx->psoc, &bval);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status))
|
||||
hdd_err("unable to get vht_enable_tx_bf");
|
||||
if (bval) {
|
||||
|
@@ -144,8 +144,6 @@
|
||||
#include "wlan_tdls_cfg_api.h"
|
||||
#include <wlan_hdd_rssi_monitor.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_policy_mgr_ucfg.h"
|
||||
#ifdef CNSS_GENL
|
||||
@@ -1390,7 +1388,8 @@ static void hdd_update_wiphy_vhtcap(struct hdd_context *hdd_ctx)
|
||||
if (!QDF_IS_STATUS_SUCCESS(status))
|
||||
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;
|
||||
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))
|
||||
hdd_err("unable to set vht_enable2x2");
|
||||
|
||||
if (b_enable1x1 == false) {
|
||||
if (!b_enable1x1) {
|
||||
ht_cap_info.tx_stbc = 0;
|
||||
|
||||
/* 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)) {
|
||||
status =
|
||||
ucfg_mlme_cfg_set_vht_chan_width(hdd_ctx->psoc,
|
||||
VHT_CAP_160_AND_80P80_SUPP);
|
||||
status = ucfg_mlme_set_vht_ch_width(hdd_ctx->psoc,
|
||||
VHT_CAP_160_AND_80P80_SUPP);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
hdd_err("could not set the VHT CAP 160");
|
||||
band_5g->vht_cap.cap |=
|
||||
IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ;
|
||||
ch_width = eHT_CHANNEL_WIDTH_80P80MHZ;
|
||||
} else if (cfg->supp_chan_width & (1 << eHT_CHANNEL_WIDTH_160MHZ)) {
|
||||
status =
|
||||
ucfg_mlme_cfg_set_vht_chan_width(hdd_ctx->psoc,
|
||||
VHT_CAP_160_SUPP);
|
||||
status = ucfg_mlme_set_vht_ch_width(hdd_ctx->psoc,
|
||||
VHT_CAP_160_SUPP);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
hdd_err("could not set the VHT CAP 160");
|
||||
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");
|
||||
|
||||
val = QDF_MIN(val, ch_width);
|
||||
status =
|
||||
ucfg_mlme_cfg_set_vht_chan_width(hdd_ctx->psoc, val);
|
||||
status = ucfg_mlme_set_vht_ch_width(hdd_ctx->psoc, val);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
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);
|
||||
|
||||
status = ucfg_mlme_cfg_get_vht_tx_bfee_ant_supp(hdd_ctx->psoc,
|
||||
&value);
|
||||
&value);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
status = false;
|
||||
hdd_err("set tx_bfee_ant_supp failed");
|
||||
|
@@ -3947,7 +3947,7 @@ int wlan_hdd_get_station_remote(struct wiphy *wiphy,
|
||||
* @tx_nss: The TX NSS from fw stats
|
||||
*
|
||||
* 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,
|
||||
struct hdd_config *config,
|
||||
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 */
|
||||
if (tx_rate_flags & (TX_RATE_VHT20 | TX_RATE_VHT40 |
|
||||
TX_RATE_VHT80)) {
|
||||
stat = ucfg_mlme_cfg_get_vht_tx_mcs_map(hdd_ctx->psoc,
|
||||
&vht_mcs_map);
|
||||
stat = ucfg_mlme_cfg_get_vht_tx_mcs_map(hdd_ctx->psoc,
|
||||
&vht_mcs_map);
|
||||
if (QDF_IS_STATUS_ERROR(stat))
|
||||
hdd_err("failed to get tx_mcs_map");
|
||||
vht_max_mcs = (enum data_rate_11ac_max_mcs)
|
||||
|
@@ -597,42 +597,6 @@ enum {
|
||||
#define WNI_CFG_GREENFIELD_CAPABILITY_ENABLE 1
|
||||
#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
|
||||
* 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_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_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_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_STAMAX 0x17f
|
||||
#define WNI_CFG_MAX_HT_MCS_TX_DATA_STADEF 0x0
|
||||
|
@@ -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->vhtTxMCSMap = (uint16_t)vht_cap_info.tx_mcs_map;
|
||||
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;
|
||||
|
||||
if (NSS_1x1_MODE == nss) {
|
||||
@@ -1361,8 +1361,8 @@ QDF_STATUS lim_populate_vht_mcs_set(tpAniSirGlobal mac_ctx,
|
||||
rates->vhtRxHighestDataRate =
|
||||
VHT_RX_HIGHEST_SUPPORTED_DATA_RATE_1_1;
|
||||
if (session_entry && !session_entry->ch_width &&
|
||||
!mac_ctx->mlme_cfg->vht_caps.vht_cap_info.enable_vht20_mcs9 &&
|
||||
((rates->vhtRxMCSMap & VHT_1x1_MCS_MASK) ==
|
||||
!vht_cap_info.enable_vht20_mcs9 &&
|
||||
((rates->vhtRxMCSMap & VHT_1x1_MCS_MASK) ==
|
||||
VHT_1x1_MCS9_MAP)) {
|
||||
DISABLE_VHT_MCS_9(rates->vhtRxMCSMap,
|
||||
NSS_1x1_MODE);
|
||||
|
@@ -231,7 +231,7 @@ lim_send_probe_req_mgmt_frame(tpAniSirGlobal mac_ctx,
|
||||
* is false and dot11mode is 11ac set it to 11n.
|
||||
*/
|
||||
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_ONLY == dot11mode))
|
||||
dot11mode = WNI_CFG_DOT11_MODE_11N;
|
||||
|
@@ -1013,7 +1013,7 @@ populate_dot11f_vht_caps(tpAniSirGlobal pMac,
|
||||
pDot11f->rxHighSupDataRate =
|
||||
VHT_RX_HIGHEST_SUPPORTED_DATA_RATE_1_1;
|
||||
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) ==
|
||||
VHT_1x1_MCS9_MAP)) {
|
||||
DISABLE_VHT_MCS_9(pDot11f->txMCSMap,
|
||||
@@ -1023,7 +1023,7 @@ populate_dot11f_vht_caps(tpAniSirGlobal pMac,
|
||||
}
|
||||
} else {
|
||||
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) ==
|
||||
VHT_2x2_MCS9_MAP)) {
|
||||
DISABLE_VHT_MCS_9(pDot11f->txMCSMap,
|
||||
|
@@ -13170,8 +13170,8 @@ enum csr_cfgdot11mode curr_mode = mac_ctx->roam.configParam.uCfgDot11Mode;
|
||||
}
|
||||
|
||||
if (IS_24G_CH(opr_chn) &&
|
||||
(false == mac_ctx->mlme_cfg->vht_caps.vht_cap_info.b24ghz_band) &&
|
||||
(eCSR_CFG_DOT11_MODE_11AC == cfg_dot11_mode ||
|
||||
!mac_ctx->mlme_cfg->vht_caps.vht_cap_info.b24ghz_band &&
|
||||
(eCSR_CFG_DOT11_MODE_11AC == cfg_dot11_mode ||
|
||||
eCSR_CFG_DOT11_MODE_11AC_ONLY == cfg_dot11_mode))
|
||||
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,
|
||||
pSession->bssParams.
|
||||
uCfgDot11Mode);
|
||||
if (pBssDescription->channelId <= 14
|
||||
&& false == pMac->mlme_cfg->vht_caps.vht_cap_info.b24ghz_band
|
||||
&& WNI_CFG_DOT11_MODE_11AC == ucDot11Mode) {
|
||||
if (pBssDescription->channelId <= 14 &&
|
||||
!pMac->mlme_cfg->vht_caps.vht_cap_info.b24ghz_band &&
|
||||
WNI_CFG_DOT11_MODE_11AC == ucDot11Mode) {
|
||||
/* Need to disable VHT operation in 2.4 GHz band */
|
||||
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
|
||||
*/
|
||||
if (bvalue && !((IS_BSS_VHT_CAPABLE(pIes->VHTCaps) &&
|
||||
pIes->VHTCaps.suBeamformeeCap) ||
|
||||
(IS_BSS_VHT_CAPABLE(
|
||||
pIes->vendor_vht_ie.VHTCaps)
|
||||
&& pIes->vendor_vht_ie.VHTCaps.
|
||||
suBeamformeeCap)))
|
||||
pIes->VHTCaps.suBeamformeeCap) ||
|
||||
(IS_BSS_VHT_CAPABLE(pIes->vendor_vht_ie.VHTCaps) &&
|
||||
pIes->vendor_vht_ie.VHTCaps.suBeamformeeCap)))
|
||||
bvalue = 0;
|
||||
|
||||
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;
|
||||
session->vht_config.ldpc_coding = vht_cap_info.ldpc_coding_cap;
|
||||
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.rx_stbc = vht_cap_info.rx_stbc;
|
||||
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,
|
||||
param.uCfgDot11Mode);
|
||||
if (IS_24G_CH(pMsg->targetChannel) &&
|
||||
(false == pMac->mlme_cfg->vht_caps.vht_cap_info.b24ghz_band) &&
|
||||
(WNI_CFG_DOT11_MODE_11AC == pMsg->dot11mode ||
|
||||
!pMac->mlme_cfg->vht_caps.vht_cap_info.b24ghz_band &&
|
||||
(WNI_CFG_DOT11_MODE_11AC == pMsg->dot11mode ||
|
||||
WNI_CFG_DOT11_MODE_11AC_ONLY == pMsg->dot11mode))
|
||||
pMsg->dot11mode = WNI_CFG_DOT11_MODE_11N;
|
||||
pMsg->nw_type = param.sirNwType;
|
||||
|
@@ -499,7 +499,7 @@ static uint32_t csr_get_dot11_mode(tpAniSirGlobal mac_ctx,
|
||||
dot11mode, ucfg_dot11_mode);
|
||||
|
||||
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) {
|
||||
/* Need to disable VHT operation in 2.4 GHz band */
|
||||
dot11mode = WNI_CFG_DOT11_MODE_11N;
|
||||
|
Reference in New Issue
Block a user