Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ed682c0d authored by Jingxiang Ge's avatar Jingxiang Ge Committed by snandini
Browse files

qcacld-3.0: Add detection for tasklet delay

This is to enable feature for detection CE tasklet
scheduling delay and credit response delay issue.

Change-Id: I659aa23eabaa28bfb11051bf15e0343c94061b86
CRs-Fixed: 2874867
parent c063b597
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -3734,6 +3734,14 @@ cppflags-$(CONFIG_DP_FT_LOCK_HISTORY) += -DDP_FT_LOCK_HISTORY

ccflags-$(CONFIG_GET_DRIVER_MODE) += -DFEATURE_GET_DRIVER_MODE

ifeq ($(CONFIG_SMP), y)
ifeq ($(CONFIG_HIF_DETECTION_LATENCY_ENABLE), y)
cppflags-y += -DHIF_DETECTION_LATENCY_ENABLE
cppflags-y += -DDETECTION_TIMER_TIMEOUT=2000
cppflags-y += -DDETECTION_LATENCY_THRESHOLD=1900
endif
endif

KBUILD_CPPFLAGS += $(cppflags-y)

# Currently, for versions of gcc which support it, the kernel Makefile
+4 −0
Original line number Diff line number Diff line
@@ -862,6 +862,8 @@ pmo_core_enable_wow_in_fw(struct wlan_objmgr_psoc *psoc,
	pmo_debug("WOW enabled successfully in fw: credits:%d pending_cmds: %d",
		host_credits, wmi_pending_cmds);

	hif_latency_detect_timer_stop(pmo_core_psoc_get_hif_handle(psoc));

	pmo_core_update_wow_enable_cmd_sent(psoc_ctx, true);

out:
@@ -1448,6 +1450,8 @@ QDF_STATUS pmo_core_psoc_bus_resume_req(struct wlan_objmgr_psoc *psoc,
		goto out;
	}

	hif_latency_detect_timer_start(pmo_core_psoc_get_hif_handle(psoc));

	psoc_ctx = pmo_psoc_get_priv(psoc);
	wow_mode = pmo_core_is_wow_enabled(psoc_ctx);
	pmo_debug("wow mode %d", wow_mode);
+1 −0
Original line number Diff line number Diff line
@@ -1037,6 +1037,7 @@ ifeq ($(CONFIG_SLUB_DEBUG_ON), y)
	CONFIG_UNIT_TEST := y
	CONFIG_REGISTER_OP_DEBUG := y
	CONFIG_ENABLE_QDF_PTR_HASH_DEBUG := y
	CONFIG_HIF_DETECTION_LATENCY_ENABLE := y
endif

ifeq ($(CONFIG_UNIT_TEST), y)
+16 −0
Original line number Diff line number Diff line
@@ -155,4 +155,20 @@ void hdd_set_hif_init_phase(struct hif_opaque_softc *hif_ctx,
{
}
#endif /* FORCE_WAKE */

#ifdef HIF_DETECTION_LATENCY_ENABLE
/**
 * hdd_hif_set_enable_detection() - enable detection
 * @hif_ctx: hif opaque handle
 * @value: enable/disable
 *
 * Return: None
 */
void hdd_hif_set_enable_detection(struct hif_opaque_softc *hif_ctx, bool value);
#else
static inline
void hdd_hif_set_enable_detection(struct hif_opaque_softc *hif_ctx, bool value)
{
}
#endif /* HIF_DETECTION_LATENCY_ENABLE */
#endif /* __WLAN_HDD_DRIVER_OPS_H__ */
+7 −0
Original line number Diff line number Diff line
@@ -230,6 +230,13 @@ static void hdd_hif_init_driver_state_callbacks(void *data,
		hdd_put_consistent_mem_unaligned;
}

#ifdef HIF_DETECTION_LATENCY_ENABLE
void hdd_hif_set_enable_detection(struct hif_opaque_softc *hif_ctx, bool value)
{
	hif_set_enable_detection(hif_ctx, value);
}
#endif

#ifdef FORCE_WAKE
void hdd_set_hif_init_phase(struct hif_opaque_softc *hif_ctx,
			    bool hal_init_phase)
Loading