summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaidiReddy Yenuga <saidir@codeaurora.org>2016-10-27 19:24:06 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-11-07 12:26:53 +0530
commit02e09ebc6501e41f66cf160299eebabcac274363 (patch)
tree86b21c6eadeb0777a92feaae5b893ef146702bb2
parentce3d9e7343305de95123b23cd3081d401a661b5d (diff)
qcacld-2.0: Disable Tx delay in FW
Tx delay in FW, cause response time higher. Send WMA command to FW in WLAN startup to disable the Tx delay in FW. CRs-fixed: 1083070 Change-Id: Ib588086d5b445a4f4e515f17f297388a41746ec7
-rw-r--r--CORE/HDD/inc/wlan_hdd_cfg.h6
-rw-r--r--CORE/HDD/src/wlan_hdd_cfg.c7
-rw-r--r--CORE/HDD/src/wlan_hdd_main.c10
3 files changed, 23 insertions, 0 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h
index 5b4b0bb1c195..8088b1fdb453 100644
--- a/CORE/HDD/inc/wlan_hdd_cfg.h
+++ b/CORE/HDD/inc/wlan_hdd_cfg.h
@@ -3598,6 +3598,11 @@ FG_BTC_BT_INTERVAL_PAGE_P2P_STA_DEFAULT
#define CFG_TX_CHAIN_MASK_1SS_MAX (3)
#define CFG_TX_CHAIN_MASK_1SS_DEFAULT (1)
+#define CFG_TX_SCH_DELAY "gTxSchDelay"
+#define CFG_TX_SCH_DELAY_MIN (0)
+#define CFG_TX_SCH_DELAY_MAX (1)
+#define CFG_TX_SCH_DELAY_DEFAULT (1)
+
#define CFG_SELF_GEN_FRM_PWR "gSelfGenFrmPwr"
#define CFG_SELF_GEN_FRM_PWR_MIN (0)
#define CFG_SELF_GEN_FRM_PWR_MAX (0xffff)
@@ -4853,6 +4858,7 @@ struct hdd_config {
uint16_t pkt_err_disconn_th;
bool tx_chain_mask_cck;
uint8_t tx_chain_mask_1ss;
+ uint8_t tx_sch_delay;
uint16_t self_gen_frm_pwr;
#ifdef FEATURE_WLAN_EXTSCAN
diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c
index f58c90b5ce29..c61265a6daec 100644
--- a/CORE/HDD/src/wlan_hdd_cfg.c
+++ b/CORE/HDD/src/wlan_hdd_cfg.c
@@ -4338,6 +4338,13 @@ REG_TABLE_ENTRY g_registry_table[] =
CFG_TX_CHAIN_MASK_1SS_MIN,
CFG_TX_CHAIN_MASK_1SS_MAX),
+ REG_VARIABLE(CFG_TX_SCH_DELAY, WLAN_PARAM_Integer,
+ hdd_config_t, tx_sch_delay,
+ VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
+ CFG_TX_SCH_DELAY_DEFAULT,
+ CFG_TX_SCH_DELAY_MIN,
+ CFG_TX_SCH_DELAY_MAX),
+
REG_VARIABLE(CFG_SELF_GEN_FRM_PWR, WLAN_PARAM_Integer,
hdd_config_t, self_gen_frm_pwr,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index af3272fbf2c5..cbcb5126d7b5 100644
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -15231,6 +15231,16 @@ int hdd_wlan_startup(struct device *dev, v_VOID_t *hif_sc)
__func__, ret);
}
+ ret = process_wma_set_command(0, WMI_PDEV_PARAM_TX_SCH_DELAY,
+ pHddCtx->cfg_ini->tx_sch_delay,
+ PDEV_CMD);
+ if (0 != ret) {
+ hddLog(VOS_TRACE_LEVEL_ERROR,
+ "%s: WMI_PDEV_PARAM_TX_SCH_DELAY failed %d",
+ __func__, ret);
+ }
+
+
status = hdd_set_sme_chan_list(pHddCtx);
if (status != VOS_STATUS_SUCCESS) {
hddLog(VOS_TRACE_LEVEL_FATAL,