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 =
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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) \
|
||||||
|
@@ -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
|
||||||
|
@@ -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;
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -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)
|
||||||
|
@@ -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");
|
||||||
|
|
||||||
|
@@ -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) {
|
||||||
|
@@ -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");
|
||||||
|
@@ -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)
|
||||||
|
@@ -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
|
||||||
|
@@ -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);
|
||||||
|
@@ -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;
|
||||||
|
@@ -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,
|
||||||
|
@@ -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;
|
||||||
|
@@ -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;
|
||||||
|
Reference in New Issue
Block a user