From 1d891ed8d307a075133540a073ebcd70cf4a2ca6 Mon Sep 17 00:00:00 2001 From: Karunakar Dasineni Date: Wed, 29 Mar 2017 15:42:02 -0700 Subject: [PATCH] qcacmn: Fix for datapath latency issues Reduce DP poll interval to 10ms and change per-packet prints in Rx path to debug level. Also fixed HAL macros used to setup Rx buffer descriptors. Change-Id: I112393a3f021b275dbe9da9df9c1bac584a96f3f CRs-Fixed: 2026389 --- dp/wifi3.0/dp_main.c | 2 +- dp/wifi3.0/dp_rx.c | 10 +++++----- dp/wifi3.0/hal_rx.h | 6 ++---- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index e8b984f2dbf4..67c353ceb1c4 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -36,7 +36,7 @@ #include "dp_peer.h" #include "dp_rx_mon.h" -#define DP_INTR_POLL_TIMER_MS 100 +#define DP_INTR_POLL_TIMER_MS 10 #define DP_MCS_LENGTH (6*MAX_MCS) #define DP_NSS_LENGTH (6*SS_COUNT) #define DP_RXDMA_ERR_LENGTH (6*MAX_RXDMA_ERRORS) diff --git a/dp/wifi3.0/dp_rx.c b/dp/wifi3.0/dp_rx.c index 024884e5b127..f9b65e3d9fb7 100644 --- a/dp/wifi3.0/dp_rx.c +++ b/dp/wifi3.0/dp_rx.c @@ -76,7 +76,7 @@ QDF_STATUS dp_rx_buffers_replenish(struct dp_soc *dp_soc, uint32_t mac_id, return QDF_STATUS_E_FAILURE; } - QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO, + QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, "requested %d buffers for replenish", num_req_buffers); /* @@ -98,7 +98,7 @@ QDF_STATUS dp_rx_buffers_replenish(struct dp_soc *dp_soc, uint32_t mac_id, return QDF_STATUS_E_NOMEM; } - QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR, + QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, "%d rx desc allocated", num_alloc_desc); num_req_buffers = num_alloc_desc; } @@ -108,7 +108,7 @@ QDF_STATUS dp_rx_buffers_replenish(struct dp_soc *dp_soc, uint32_t mac_id, rxdma_srng, sync_hw_ptr); - QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO, + QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, "no of availble entries in rxdma ring: %d", num_entries_avail); @@ -169,9 +169,9 @@ QDF_STATUS dp_rx_buffers_replenish(struct dp_soc *dp_soc, uint32_t mac_id, hal_srng_access_end(dp_soc->hal_soc, rxdma_srng); - QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO, + QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, "successfully replenished %d buffers", num_req_buffers); - QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO, + QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, "%d rx desc added back to free list", num_desc_to_free); DP_STATS_INC(dp_pdev, buf_freelist, num_desc_to_free); diff --git a/dp/wifi3.0/hal_rx.h b/dp/wifi3.0/hal_rx.h index 5025c9ccd45d..23f3028c7ba0 100644 --- a/dp/wifi3.0/hal_rx.h +++ b/dp/wifi3.0/hal_rx.h @@ -166,8 +166,7 @@ enum hal_rx_ret_buf_manager { #define HAL_RXDMA_COOKIE_SET(buff_addr_info, cookie) \ ((*(((unsigned int *) buff_addr_info) + \ (BUFFER_ADDR_INFO_1_SW_BUFFER_COOKIE_OFFSET >> 2))) &= \ - ~((cookie << BUFFER_ADDR_INFO_1_SW_BUFFER_COOKIE_LSB) & \ - BUFFER_ADDR_INFO_1_SW_BUFFER_COOKIE_MASK)); \ + ~BUFFER_ADDR_INFO_1_SW_BUFFER_COOKIE_MASK); \ ((*(((unsigned int *) buff_addr_info) + \ (BUFFER_ADDR_INFO_1_SW_BUFFER_COOKIE_OFFSET >> 2))) |= \ (cookie << BUFFER_ADDR_INFO_1_SW_BUFFER_COOKIE_LSB) & \ @@ -179,8 +178,7 @@ enum hal_rx_ret_buf_manager { #define HAL_RXDMA_MANAGER_SET(buff_addr_info, manager) \ ((*(((unsigned int *) buff_addr_info) + \ (BUFFER_ADDR_INFO_1_RETURN_BUFFER_MANAGER_OFFSET >> 2))) &= \ - ~((manager << BUFFER_ADDR_INFO_1_RETURN_BUFFER_MANAGER_LSB) & \ - BUFFER_ADDR_INFO_1_RETURN_BUFFER_MANAGER_MASK)); \ + ~BUFFER_ADDR_INFO_1_RETURN_BUFFER_MANAGER_MASK); \ ((*(((unsigned int *) buff_addr_info) + \ (BUFFER_ADDR_INFO_1_RETURN_BUFFER_MANAGER_OFFSET >> 2))) |= \ (manager << BUFFER_ADDR_INFO_1_RETURN_BUFFER_MANAGER_LSB) & \