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
This commit is contained in:
parent
e067c79b10
commit
333dc4602d
8
Kbuild
8
Kbuild
@ -3864,6 +3864,14 @@ cppflags-$(CONFIG_FEATURE_STA_MODE_VOTE_LINK) += -DFEATURE_STA_MODE_VOTE_LINK
|
||||
cppflags-$(CONFIG_WLAN_ENABLE_GPIO_WAKEUP) += -DWLAN_ENABLE_GPIO_WAKEUP
|
||||
cppflags-$(CONFIG_WLAN_MAC_ADDR_UPDATE_DISABLE) += -DWLAN_MAC_ADDR_UPDATE_DISABLE
|
||||
|
||||
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
|
||||
|
@ -869,6 +869,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:
|
||||
@ -1455,6 +1457,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);
|
||||
|
@ -1073,6 +1073,7 @@ endif
|
||||
CONFIG_ENABLE_QDF_PTR_HASH_DEBUG := y
|
||||
CONFIG_HIF_DEBUG := y
|
||||
CONFIG_HAL_DEBUG := y
|
||||
CONFIG_HIF_DETECTION_LATENCY_ENABLE := y
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_CNSS2_DEBUG), y)
|
||||
|
@ -158,4 +158,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__ */
|
||||
|
@ -231,6 +231,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)
|
||||
|
@ -4164,6 +4164,7 @@ int hdd_wlan_start_modules(struct hdd_context *hdd_ctx, bool reinit)
|
||||
wlan_hdd_init_tx_rx_histogram(hdd_ctx);
|
||||
|
||||
hdd_set_hif_init_phase(hif_ctx, false);
|
||||
hdd_hif_set_enable_detection(hif_ctx, true);
|
||||
|
||||
break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user