qcacld-3.0: Add option to disable psoc idle timer

Add option to disable idle psoc timer by changing min
value to 0 and when 0 value is set in INI file then do
not start the psoc idle timer.

Change-Id: I6593f8ef9a15e1817215021c694c20ddf1aaa252
CRs-Fixed: 2370954
This commit is contained in:
Rajeev Kumar
2018-12-20 12:09:54 -08:00
committed by nshrivas
parent 7646224d90
commit 7b7bb3f440
2 changed files with 9 additions and 2 deletions

View File

@@ -87,7 +87,7 @@ enum hdd_wext_control {
/* /*
* <ini> * <ini>
* gInterfaceChangeWait - Interface change wait * gInterfaceChangeWait - Interface change wait
* @Min: 10, * @Min: 0,
* @Max: 500000 * @Max: 500000
* @Default: 10000 * @Default: 10000
* *
@@ -95,6 +95,8 @@ enum hdd_wext_control {
* this timer expires all the cds modules shall be closed. * this timer expires all the cds modules shall be closed.
* Time Units: ms * Time Units: ms
* *
* Value 0 can be used to disable idle module stop.
*
* Related: None * Related: None
* *
* Supported Feature: All * Supported Feature: All
@@ -103,7 +105,7 @@ enum hdd_wext_control {
*/ */
#define CFG_INTERFACE_CHANGE_WAIT CFG_INI_UINT( \ #define CFG_INTERFACE_CHANGE_WAIT CFG_INI_UINT( \
"gInterfaceChangeWait", \ "gInterfaceChangeWait", \
10, \ 0, \
500000, \ 500000, \
10000, \ 10000, \
CFG_VALUE_OR_DEFAULT, \ CFG_VALUE_OR_DEFAULT, \

View File

@@ -9213,6 +9213,11 @@ void hdd_psoc_idle_timer_start(struct hdd_context *hdd_ctx)
enum wake_lock_reason reason = enum wake_lock_reason reason =
WIFI_POWER_EVENT_WAKELOCK_IFACE_CHANGE_TIMER; WIFI_POWER_EVENT_WAKELOCK_IFACE_CHANGE_TIMER;
if (!timeout_ms) {
hdd_info("psoc idle timer is disabled");
return;
}
hdd_debug("Starting psoc idle timer"); hdd_debug("Starting psoc idle timer");
qdf_sched_delayed_work(&hdd_ctx->psoc_idle_timeout_work, timeout_ms); qdf_sched_delayed_work(&hdd_ctx->psoc_idle_timeout_work, timeout_ms);
hdd_prevent_suspend_timeout(timeout_ms, reason); hdd_prevent_suspend_timeout(timeout_ms, reason);