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
2021-01-27 17:19:37 +08:00
committed by snandini
コミット 7630ff783b

ファイルの表示

@@ -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);