Selaa lähdekoodia

qcacld-3.0: Add TX pending indication when sending wake up to FW

FW may experience HWDTIM mode enter and exit, if HOST can't queue
frames fast enough, this will bring 10ms latency for TX under WoW.
This change adds an indication bit to notify FW whether a TX happens
after WoW wakeup, then FW can discard HWDITM and reduce TX latency.
Change-Id: I74f7311fc0639186ee0bca711160bb8c0d5d9fb3
CRs-Fixed: 3055501
Yu Tian 3 vuotta sitten
vanhempi
sitoutus
25985fb598
1 muutettua tiedostoa jossa 8 lisäystä ja 1 poistoa
  1. 8 1
      components/target_if/pmo/src/target_if_pmo_suspend_resume.c

+ 8 - 1
components/target_if/pmo/src/target_if_pmo_suspend_resume.c

@@ -28,6 +28,8 @@
 #include "wmi_unified_api.h"
 #include "qdf_types.h"
 #include "pld_common.h"
+#include <cds_api.h>
+#include <cdp_txrx_cmn.h>
 
 #define TGT_WILDCARD_PDEV_ID 0x0
 
@@ -352,6 +354,7 @@ QDF_STATUS target_if_pmo_psoc_send_host_wakeup_ind(
 		struct wlan_objmgr_psoc *psoc)
 {
 	wmi_unified_t wmi_handle;
+	bool tx_pending_ind = false;
 
 	wmi_handle = get_wmi_unified_hdl_from_psoc(psoc);
 	if (!wmi_handle) {
@@ -359,7 +362,11 @@ QDF_STATUS target_if_pmo_psoc_send_host_wakeup_ind(
 		return QDF_STATUS_E_INVAL;
 	}
 
-	return wmi_unified_host_wakeup_ind_to_fw_cmd(wmi_handle);
+	if (cdp_get_tx_inqueue(cds_get_context(QDF_MODULE_ID_SOC)))
+		tx_pending_ind = true;
+
+	return wmi_unified_host_wakeup_ind_to_fw_cmd(wmi_handle,
+						     tx_pending_ind);
 }
 #endif