diff options
| author | Kai Liu <kaliu@codeaurora.org> | 2016-08-29 18:26:19 +0800 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-09-02 15:08:45 +0530 |
| commit | a904d395ac279e082065e6eb13b8769fa1c03d83 (patch) | |
| tree | a6e1e7f24cfd6ed3d44c112b61492a36cd19dc17 | |
| parent | 1c68ff8bfb76ab663e24b9c81d0f8d0d72f85d76 (diff) | |
qcacld-2.0: Enable tx flow control for HL usb case
Currently tx flow control is just enabled in LL, we encounter a case
in HL usb that kernel UDP stack will pump many packets which cause host
discard packets. Enable tx flow control for usb to avoid packets discarded.
Change-Id: If70bceaa0f64eb94e7f8e5480076869d2c6f1d9e
CRs-Fixed: 1058813
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_main.c | 21 | ||||
| -rw-r--r-- | Kbuild | 6 |
2 files changed, 20 insertions, 7 deletions
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c index 2cd904067953..d2ba037d80db 100644 --- a/CORE/HDD/src/wlan_hdd_main.c +++ b/CORE/HDD/src/wlan_hdd_main.c @@ -12121,19 +12121,12 @@ void hdd_dump_concurrency_info(hdd_context_t *pHddCtx) WLAN_TFC_IPAUC_TX_DESC_RESERVE; } else #endif /* IPA_UC_OFFLOAD */ -#ifdef CONFIG_HL_SUPPORT - { - pAdapter->tx_flow_low_watermark = 0; - } - pAdapter->tx_flow_high_watermark_offset = 0; -#else { pAdapter->tx_flow_low_watermark = pHddCtx->cfg_ini->TxFlowLowWaterMark; } pAdapter->tx_flow_high_watermark_offset = pHddCtx->cfg_ini->TxFlowHighWaterMarkOffset; -#endif WLANTL_SetAdapterMaxQDepth(pHddCtx->pvosContext, pAdapter->sessionId, pHddCtx->cfg_ini->TxFlowMaxQueueDepth); @@ -12160,8 +12153,15 @@ void hdd_dump_concurrency_info(hdd_context_t *pHddCtx) if (preAdapterChannel == targetChannel) { /* Current adapter */ +#ifdef CONFIG_PER_VDEV_TX_DESC_POOL + pAdapter->tx_flow_low_watermark = + pHddCtx->cfg_ini->TxFlowLowWaterMark; + pAdapter->tx_flow_high_watermark_offset = + pHddCtx->cfg_ini->TxFlowHighWaterMarkOffset; +#else pAdapter->tx_flow_low_watermark = 0; pAdapter->tx_flow_high_watermark_offset = 0; +#endif WLANTL_SetAdapterMaxQDepth(pHddCtx->pvosContext, pAdapter->sessionId, pHddCtx->cfg_ini->TxHbwFlowMaxQueueDepth); @@ -12183,8 +12183,15 @@ void hdd_dump_concurrency_info(hdd_context_t *pHddCtx) } /* Previous adapter */ +#ifdef CONFIG_PER_VDEV_TX_DESC_POOL + preAdapterContext->tx_flow_low_watermark = + pHddCtx->cfg_ini->TxFlowLowWaterMark; + preAdapterContext->tx_flow_high_watermark_offset = + pHddCtx->cfg_ini->TxFlowHighWaterMarkOffset; +#else preAdapterContext->tx_flow_low_watermark = 0; preAdapterContext->tx_flow_high_watermark_offset = 0; +#endif WLANTL_SetAdapterMaxQDepth(pHddCtx->pvosContext, preAdapterContext->sessionId, pHddCtx->cfg_ini->TxHbwFlowMaxQueueDepth); @@ -207,6 +207,7 @@ ifeq ($(CONFIG_ROME_IF),pci) endif ifeq ($(CONFIG_ROME_IF),usb) CONFIG_PER_VDEV_TX_DESC_POOL := 1 + CONFIG_QCA_LL_TX_FLOW_CT := 1 endif ifeq ($(CONFIG_QCA_WIFI_SDIO), 1) CONFIG_PER_VDEV_TX_DESC_POOL := 0 @@ -1260,6 +1261,11 @@ ifeq ($(CONFIG_PER_VDEV_TX_DESC_POOL), 1) CDEFINES += -DCONFIG_PER_VDEV_TX_DESC_POOL endif +#Enable tx flow control +ifeq ($(CONFIG_QCA_LL_TX_FLOW_CT), 1) +CDEFINES += -DQCA_LL_TX_FLOW_CT +endif + #Enable Tx mgmt desc reserve ifeq ($(CONFIG_TX_DESC_HI_PRIO_RESERVE), 1) CDEFINES += -DCONFIG_TX_DESC_HI_PRIO_RESERVE |
