summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChien-Ming Chen <mingc@qca.qualcomm.com>2014-11-20 16:36:22 +0800
committerAnjaneeDevi Kapparapu <c_akappa@qti.qualcomm.com>2014-12-02 13:16:33 +0530
commitcd947dff119e9ecd8145399f3fd086255da3bd16 (patch)
tree2c519ef5a6a1bb25ce9bd4378c22732b65715b08
parent8e62013912b70265361a6b782307c6ce7d7fcee7 (diff)
qcacld: Add wakelock acquirement/release for non-QC platform
Some non-QC platform (ex:x86) don't use Android system, they can't apply wakelock API to prevent suspending. Regarding to suspending issue, trying to call PM API from HIF to protect this. CONFIG_NON_QC_PLATFORM is used for non-QC platform. Change-Id: I577a7598da6c2a1a6d8649e9284a2156180840cc CRs-Fixed: 760079
-rw-r--r--CORE/VOSS/src/vos_lock.c10
-rw-r--r--Kbuild1
2 files changed, 11 insertions, 0 deletions
diff --git a/CORE/VOSS/src/vos_lock.c b/CORE/VOSS/src/vos_lock.c
index be1137d8824e..3be063c22cad 100644
--- a/CORE/VOSS/src/vos_lock.c
+++ b/CORE/VOSS/src/vos_lock.c
@@ -48,6 +48,8 @@
#include "vos_lock.h"
#include "vos_memory.h"
#include "vos_trace.h"
+#include "vos_api.h"
+#include "hif.h"
#ifdef CONFIG_CNSS
#include <net/cnss.h>
#endif
@@ -521,6 +523,10 @@ VOS_STATUS vos_wake_lock_acquire(vos_wake_lock_t *pLock)
cnss_pm_wake_lock(pLock);
#elif defined(WLAN_OPEN_SOURCE) && defined(CONFIG_HAS_WAKELOCK)
wake_lock(pLock);
+#elif defined(CONFIG_NON_QC_PLATFORM)
+#if defined(QCA_WIFI_2_0) && !defined(QCA_WIFI_ISOC)
+ hif_pm_runtime_get();
+#endif
#endif
return VOS_STATUS_SUCCESS;
}
@@ -559,6 +565,10 @@ VOS_STATUS vos_wake_lock_release(vos_wake_lock_t *pLock)
cnss_pm_wake_lock_release(pLock);
#elif defined(WLAN_OPEN_SOURCE) && defined(CONFIG_HAS_WAKELOCK)
wake_unlock(pLock);
+#elif defined(CONFIG_NON_QC_PLATFORM)
+#if defined(QCA_WIFI_2_0) && !defined(QCA_WIFI_ISOC)
+ hif_pm_runtime_put();
+#endif
#endif
return VOS_STATUS_SUCCESS;
}
diff --git a/Kbuild b/Kbuild
index 8b099d092747..2cf5124fc90a 100644
--- a/Kbuild
+++ b/Kbuild
@@ -1310,6 +1310,7 @@ endif
# Enable target dump for non-qualcomm platform
ifeq ($(CONFIG_NON_QC_PLATFORM), y)
+CDEFINES += -DCONFIG_NON_QC_PLATFORM
ifeq ($(CONFIG_CLD_HL_SDIO_CORE), y)
CDEFINES += -DTARGET_DUMP_FOR_NON_QC_PLATFORM
endif