summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBalaji Pothunoori <bpothuno@codeaurora.org>2019-12-05 15:48:58 +0530
committernshrivas <nshrivas@codeaurora.org>2019-12-09 15:53:34 -0800
commit01266363f0e00ed21e7e7d2fbf0ebac2debcf198 (patch)
treee5829bcfa6bc46a4755e779eff6baa2fc5a437a8
parent01acdfec1f8eaa8bd2753a64051e589cc288778b (diff)
qcacld-3.0: enable shortgi for 160mhz based on firmware capability
Add check to enable shortgi for 160mhz based on firmware capability Change-Id: I26cefe0b304a101350322a2d0b0c5a9ccdeba352 CRs-Fixed: 2580466
-rw-r--r--core/hdd/inc/wlan_hdd_cfg.h2
-rw-r--r--core/hdd/src/wlan_hdd_cfg.c7
-rw-r--r--core/hdd/src/wlan_hdd_main.c2
3 files changed, 7 insertions, 4 deletions
diff --git a/core/hdd/inc/wlan_hdd_cfg.h b/core/hdd/inc/wlan_hdd_cfg.h
index 11817f9704af..808cc768b6a0 100644
--- a/core/hdd/inc/wlan_hdd_cfg.h
+++ b/core/hdd/inc/wlan_hdd_cfg.h
@@ -16526,6 +16526,8 @@ struct hdd_config {
uint16_t thermal_throt_dc;
#endif
bool disable_4way_hs_offload;
+ bool ShortGI80MhzEnable;
+ bool ShortGI160MhzEnable;
};
#define VAR_OFFSET(_Struct, _Var) (offsetof(_Struct, _Var))
diff --git a/core/hdd/src/wlan_hdd_cfg.c b/core/hdd/src/wlan_hdd_cfg.c
index edda70828e15..c47987d70367 100644
--- a/core/hdd/src/wlan_hdd_cfg.c
+++ b/core/hdd/src/wlan_hdd_cfg.c
@@ -8571,15 +8571,14 @@ static bool hdd_update_vht_cap_in_cfg(hdd_context_t *hdd_ctx)
(config->dot11Mode == eHDD_DOT11_MODE_11ac)) {
/* Currently shortGI40Mhz is used for shortGI80Mhz and 160MHz*/
if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_VHT_SHORT_GI_80MHZ,
- config->ShortGI40MhzEnable) == QDF_STATUS_E_FAILURE) {
+ config->ShortGI80MhzEnable) == QDF_STATUS_E_FAILURE) {
status = false;
hdd_err("Couldn't pass WNI_VHT_SHORT_GI_80MHZ to CFG");
}
if (sme_cfg_set_int(hdd_ctx->hHal,
- WNI_CFG_VHT_SHORT_GI_160_AND_80_PLUS_80MHZ,
- config->ShortGI40MhzEnable) ==
- QDF_STATUS_E_FAILURE) {
+ WNI_CFG_VHT_SHORT_GI_160_AND_80_PLUS_80MHZ,
+ config->ShortGI160MhzEnable) == QDF_STATUS_E_FAILURE) {
status = false;
hdd_err("Couldn't pass SHORT_GI_160MHZ to CFG");
}
diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c
index 6747d89d69e5..8a4591825f7a 100644
--- a/core/hdd/src/wlan_hdd_main.c
+++ b/core/hdd/src/wlan_hdd_main.c
@@ -1593,6 +1593,7 @@ static void hdd_update_tgt_vht_cap(hdd_context_t *hdd_ctx,
hdd_err("could not get GI 80 & 160");
value = 0;
}
+ pconfig->ShortGI160MhzEnable = cfg->vht_short_gi_160;
/* set the Guard interval 160MHz */
if (value && !cfg->vht_short_gi_160) {
status = sme_cfg_set_int(hdd_ctx->hHal,
@@ -1623,6 +1624,7 @@ static void hdd_update_tgt_vht_cap(hdd_context_t *hdd_ctx,
}
}
+ pconfig->ShortGI80MhzEnable = cfg->vht_short_gi_80;
if (cfg->vht_short_gi_80 & WMI_VHT_CAP_SGI_80MHZ)
band_5g->vht_cap.cap |= IEEE80211_VHT_CAP_SHORT_GI_80;