浏览代码

qcacmn: Fix delay when request dp stats when RTPM suspended

When RTPM suspended, wlan_hdd_cfg80211_stats_ext_request and
dp_peer_rxtid_stats are called to get tx rx status, dp and ring
spin_lock_bh is held, if RTPM suspended, printk happens in
hif_pm_runtime_get which consumes 1 ms. In dp_peer_rxtid_stats,
REO cmd CMD_GET_QUEUE_STATS and CMD_FLUSH_CACHE are called for each of
17 tid, so total 34 printk delayed 34 ms.

To fix it, disable prink in hif_pm_runtime_get when called in
dp_peer_rxtid_stats.

Change-Id: If043d6772e337e42a5478de17480253f45d779c6
CRs-Fixed: 2858534
Jianmin Zhu 4 年之前
父节点
当前提交
7630ff783b
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      hal/wifi3.0/hal_reo.c

+ 2 - 2
hal/wifi3.0/hal_reo.c

@@ -455,7 +455,7 @@ inline int hal_reo_cmd_queue_stats(hal_ring_handle_t  hal_ring_hdl,
 			      cmd->u.stats_params.clear);
 
 	if (hif_pm_runtime_get(hal_soc->hif_handle,
-			       RTPM_ID_HAL_REO_CMD, false) == 0) {
+			       RTPM_ID_HAL_REO_CMD, true) == 0) {
 		hal_srng_access_end(hal_soc_hdl, hal_ring_hdl);
 		hif_pm_runtime_put(hal_soc->hif_handle,
 				   RTPM_ID_HAL_REO_CMD);
@@ -592,7 +592,7 @@ inline int hal_reo_cmd_flush_cache(hal_ring_handle_t hal_ring_hdl,
 		cp->flush_all);
 
 	if (hif_pm_runtime_get(hal_soc->hif_handle,
-			       RTPM_ID_HAL_REO_CMD, false) == 0) {
+			       RTPM_ID_HAL_REO_CMD, true) == 0) {
 		hal_srng_access_end(hal_soc_hdl, hal_ring_hdl);
 		hif_pm_runtime_put(hal_soc->hif_handle,
 				   RTPM_ID_HAL_REO_CMD);