diff options
| author | Govind Singh <govinds@qti.qualcomm.com> | 2016-07-25 15:07:40 +0530 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-07-28 14:36:58 +0530 |
| commit | 374acff684621da082d7df176e2b1bd9b41e49f2 (patch) | |
| tree | 43f80cc319d9c79d7ed37fb02e260bf9c12b50e5 | |
| parent | 5c3e2b0254698bf19119e2569376363bc1bd0d2b (diff) | |
qcacld-2.0: Flush TX LL queues when throttle level is set to 0
TX LL queues are not flushed immediately when throttle
level is set to 0. This is causing latency as TX LL queues
are getting flushed on arrival of new packet from network stack.
Flush Tx LL queues by rescheduling the throttle phase timer ,when
throttle level is set to 0.
Change-Id: I69ec02017e6fc08221059266e06af3c17c084549
CRs-Fixed: 1046433
| -rw-r--r-- | CORE/CLD_TXRX/TXRX/ol_tx_queue.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/CORE/CLD_TXRX/TXRX/ol_tx_queue.c b/CORE/CLD_TXRX/TXRX/ol_tx_queue.c index 23bc63c5782e..6f6ac453f381 100644 --- a/CORE/CLD_TXRX/TXRX/ol_tx_queue.c +++ b/CORE/CLD_TXRX/TXRX/ol_tx_queue.c @@ -1241,6 +1241,7 @@ void ol_tx_throttle_set_level(struct ol_txrx_pdev_t *pdev, int level) ms = pdev->tx_throttle.throttle_time_ms[level][THROTTLE_PHASE_OFF]; /* pause all */ ol_txrx_throttle_pause(pdev); + adf_os_timer_start(&pdev->tx_throttle.phase_timer, ms); } else { pdev->tx_throttle.current_throttle_phase = THROTTLE_PHASE_ON; ms = pdev->tx_throttle.throttle_time_ms[level][THROTTLE_PHASE_ON]; @@ -1255,9 +1256,6 @@ void ol_tx_throttle_set_level(struct ol_txrx_pdev_t *pdev, int level) ms = pdev->tx_throttle.throttle_time_ms[level][THROTTLE_PHASE_OFF]; adf_os_timer_cancel(&pdev->tx_throttle.phase_timer); - } - - if (level != THROTTLE_LEVEL_0) { adf_os_timer_start(&pdev->tx_throttle.phase_timer, ms); } } |
