qcacld-3.0: Remove LTE ant sharing dependency on HT connection's NSS

While DUT is in SAP or GO mode, due to LTE antenna sharing mechanism,
DUT is associating in 2x1 chains to HT clients.

As per new requirement, remove dependency of number of chains on antenna
sharing. If HT client supports 2 chains, and due to DBS/LTE antenna
sharing SAP/GO drops down a chain then rate adaptation at peer takes
care of dropping down chains at peer side

Change-Id: Iafd5666179d079c7bcc950277092cef3046356bf
CRs-Fixed: 2108484
This commit is contained in:
Naveen Rawat 2017-09-15 17:32:13 -07:00 • committed by snandini
commit 903accac1f
8 changed files with 9 additions and 32 deletions

View file

@ -933,7 +933,6 @@ typedef struct sAniSirGlobal {
csr_readyToSuspendCallback readyToSuspendCallback;
void *readyToSuspendContext;
uint8_t lteCoexAntShare;
uint8_t beacon_offload;
bool pmf_offload;
uint32_t fEnableDebugLog;

View file

@ -2209,11 +2209,9 @@ lim_add_sta(tpAniSirGlobal mac_ctx,
add_sta_params->htCapable, add_sta_params->vhtCapable);
/*
* 2G-AS platform: SAP associates with HT (11n)clients as 2x1 in 2G and
* 2X2 in 5G
* Non-2G-AS platform: SAP associates with HT (11n) clients as 2X2 in 2G
* and 5G; and disable async dbs scan when HT client connects
* 5G-AS: Don't care
* If HT client is connected to SAP DUT and self cap is NSS = 2 then
* disable ASYNC DBS scan by sending WMI_VDEV_PARAM_SMPS_INTOLERANT
* to FW, because HT client's can't drop down chain using SMPS frames.
*/
if (!policy_mgr_is_hw_dbs_2x2_capable(mac_ctx->psoc) &&
LIM_IS_AP_ROLE(session_entry) &&
@ -2221,9 +2219,7 @@ lim_add_sta(tpAniSirGlobal mac_ctx,
!add_sta_params->vhtCapable &&
(session_entry->nss == 2)) {
session_entry->ht_client_cnt++;
if ((session_entry->ht_client_cnt == 1) &&
!(mac_ctx->lteCoexAntShare &&
IS_24G_CH(session_entry->currentOperChannel))) {
if (session_entry->ht_client_cnt == 1) {
pe_debug("setting SMPS intolrent vdev_param");
wma_cli_set_command(session_entry->smeSessionId,
(int)WMI_VDEV_PARAM_SMPS_INTOLERANT,

View file

@ -292,9 +292,8 @@ lim_extract_ap_capability(tpAniSirGlobal mac_ctx, uint8_t *p_ie,
session);
if (mac_ctx->roam.configParam.is_force_1x1 &&
is_vendor_ap_present &&
mac_ctx->lteCoexAntShare &&
IS_24G_CH(session->currentOperChannel)) {
is_vendor_ap_present &&
IS_24G_CH(session->currentOperChannel)) {
session->supported_nss_1x1 = true;
session->vdev_nss = 1;
session->nss = 1;

View file

@ -1238,20 +1238,8 @@ lim_send_assoc_rsp_mgmt_frame(tpAniSirGlobal mac_ctx,
populate_dot11f_vht_operation(mac_ctx, pe_session,
&frm.VHTOperation);
is_vht = true;
} else {
/*
* 2G-AS platform: SAP associates with HT (11n)clients
* as 2x1 in 2G and 2X2 in 5G
* Non-2G-AS platform: SAP associates with HT (11n)
* clients as 2X2 in 2G and 5G
* 5G-AS: Don’t care
*/
if (!policy_mgr_is_hw_dbs_2x2_capable(mac_ctx->psoc) &&
frm.HTCaps.present && mac_ctx->hw_dbs_capable &&
mac_ctx->lteCoexAntShare &&
IS_24G_CH(pe_session->currentOperChannel))
frm.HTCaps.supportedMCSSet[1] = 0;
}
if (pe_session->vhtCapability &&
pe_session->vendor_vht_sap &&
(assoc_req != NULL) &&

View file

@ -390,8 +390,7 @@ static void lim_handle_join_rsp_status(tpAniSirGlobal mac_ctx,
if (mac_ctx->roam.configParam.is_force_1x1 &&
is_vendor_ap_1_present && (session_entry->nss == 2) &&
(mac_ctx->lteCoexAntShare == 0 ||
IS_5G_CH(session_entry->currentOperChannel))) {
IS_5G_CH(session_entry->currentOperChannel)) {
/* SET vdev param */
pe_debug("sending SMPS intolrent vdev_param");
wma_cli_set_command(session_entry->smeSessionId,

View file

@ -14251,7 +14251,6 @@ void sme_update_tgt_services(tHalHandle hal, struct wma_tgt_services *cfg)
{
tpAniSirGlobal mac_ctx = PMAC_STRUCT(hal);
mac_ctx->lteCoexAntShare = cfg->lte_coex_ant_share;
mac_ctx->beacon_offload = cfg->beacon_offload;
mac_ctx->pmf_offload = cfg->pmf_offload;
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,

View file

@ -38,7 +38,6 @@
* @early_rx: early rx
* @pno_offload: pno offload
* @beacon_offload: beacon offload
* @lte_coex_ant_share: LTE coex ant share
* @en_tdls: enable tdls
* @en_tdls_offchan: enable tdls offchan
* @en_tdls_uapsd_buf_sta: enable sta tdls uapsd buf
@ -58,7 +57,6 @@ struct wma_tgt_services {
#endif /* FEATURE_WLAN_SCAN_PNO */
bool beacon_offload;
bool pmf_offload;
uint32_t lte_coex_ant_share;
#ifdef FEATURE_WLAN_TDLS
bool en_tdls;
bool en_tdls_offchan;

View file

@ -4074,8 +4074,7 @@ static inline void wma_update_target_services(tp_wma_handle wh,
if (WMI_SERVICE_IS_ENABLED(wh->wmi_service_bitmap, WMI_SERVICE_EXTSCAN))
g_fw_wlan_feat_caps |= (1 << EXTENDED_SCAN);
#endif /* FEATURE_WLAN_EXTSCAN */
cfg->lte_coex_ant_share = WMI_SERVICE_IS_ENABLED(wh->wmi_service_bitmap,
WMI_SERVICE_LTE_ANT_SHARE_SUPPORT);
#ifdef FEATURE_WLAN_TDLS
/* Enable TDLS */
if (WMI_SERVICE_IS_ENABLED(wh->wmi_service_bitmap, WMI_SERVICE_TDLS)) {