qcacld-3.0: Use refactored unit-test suspend APIs
The HIF portion of Unit-Test suspend has been refactored. Update HDD to
use the updated Unit-Test Suspend APIs.
Change-Id: Id10f6f5811e836844980b929f2747b1238bcf95d
CRs-Fixed: 2055332
diff --git a/Kbuild b/Kbuild
index 169b024..3213944 100644
--- a/Kbuild
+++ b/Kbuild
@@ -372,6 +372,11 @@
endif
endif
+# enable unit-test suspend for SLUB debug builds
+ifeq ($(CONFIG_SLUB_DEBUG_ON), y)
+ CONFIG_FEATURE_UNIT_TEST_SUSPEND := 1
+endif
+
############ UAPI ############
UAPI_DIR := uapi
UAPI_INC := -I$(WLAN_ROOT)/$(UAPI_DIR)/linux
@@ -1263,6 +1268,10 @@
HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/hif_napi.o
endif
+ifeq ($(CONFIG_FEATURE_UNIT_TEST_SUSPEND), 1)
+ HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/hif_unit_test_suspend.o
+endif
+
HIF_PCIE_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_PCIE_DIR)/if_pci.o
HIF_SNOC_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_SNOC_DIR)/if_snoc.o
HIF_SDIO_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/if_sdio.o
@@ -1650,11 +1659,14 @@
-DPE_DEBUG_LOGE
endif
+ifeq ($(CONFIG_FEATURE_UNIT_TEST_SUSPEND), 1)
+ CDEFINES += -DWLAN_SUSPEND_RESUME_TEST
+endif
+
ifeq ($(CONFIG_SLUB_DEBUG_ON),y)
CDEFINES += -DTIMER_MANAGER
CDEFINES += -DMEMORY_DEBUG
CDEFINES += -DCONFIG_HALT_KMEMLEAK
-CDEFINES += -DWLAN_SUSPEND_RESUME_TEST
endif
ifeq ($(HAVE_CFG80211),1)
diff --git a/core/hdd/src/wlan_hdd_power.c b/core/hdd/src/wlan_hdd_power.c
index 27fcdde..cc27419 100644
--- a/core/hdd/src/wlan_hdd_power.c
+++ b/core/hdd/src/wlan_hdd_power.c
@@ -72,6 +72,7 @@
#include <wma_types.h>
#include <ol_txrx_osif_api.h>
#include "hif.h"
+#include "hif_unit_test_suspend.h"
#include "sme_power_save_api.h"
#include "wlan_policy_mgr_api.h"
#include "cdp_txrx_flow_ctrl_v2.h"
@@ -2336,7 +2337,7 @@
struct hif_opaque_softc *hif_ctx;
qdf_device_t qdf_dev;
- hdd_debug("Unit-test resume WLAN");
+ hdd_info("Unit-test resume WLAN");
qdf_dev = cds_get_context(QDF_MODULE_ID_QDF_DEVICE);
if (!qdf_dev) {
@@ -2352,7 +2353,7 @@
}
if (!test_and_clear_bit(HDD_FA_SUSPENDED_BIT, &fake_apps_state)) {
- hdd_debug("Not unit-test suspended; Nothing to do");
+ hdd_alert("Not unit-test suspended; Nothing to do");
return;
}
@@ -2373,21 +2374,20 @@
dev->watchdog_timeo = HDD_TX_TIMEOUT;
- hdd_debug("Unit-test resume succeeded");
+ hdd_alert("Unit-test resume succeeded");
}
/**
* hdd_wlan_fake_apps_resume_irq_callback() - Irq callback function for resuming
* from unit-test initiated suspend from irq wakeup signal
- * @val: interrupt val
*
* Resume wlan after getting very 1st CE interrupt from target
*
* Return: none
*/
-static void hdd_wlan_fake_apps_resume_irq_callback(uint32_t val)
+static void hdd_wlan_fake_apps_resume_irq_callback(void)
{
- hdd_debug("Trigger unit-test resume WLAN; val: 0x%x", val);
+ hdd_info("Trigger unit-test resume WLAN");
QDF_BUG(g_wiphy);
QDF_BUG(g_dev);
@@ -2409,7 +2409,7 @@
.resume_trigger = resume_setting
};
- hdd_debug("Unit-test suspend WLAN");
+ hdd_info("Unit-test suspend WLAN");
if (pause_setting < WOW_INTERFACE_PAUSE_DEFAULT ||
pause_setting >= WOW_INTERFACE_PAUSE_COUNT) {
@@ -2438,7 +2438,7 @@
}
if (test_and_set_bit(HDD_FA_SUSPENDED_BIT, &fake_apps_state)) {
- hdd_debug("Already unit-test suspended; Nothing to do");
+ hdd_alert("Already unit-test suspended; Nothing to do");
return 0;
}
@@ -2467,7 +2467,7 @@
g_wiphy = wiphy;
g_dev = dev;
g_resume_trigger = resume_setting;
- hif_fake_apps_suspend(hif_ctx, hdd_wlan_fake_apps_resume_irq_callback);
+ hif_ut_apps_suspend(hif_ctx, hdd_wlan_fake_apps_resume_irq_callback);
/* re-enable wake irq */
errno = hif_apps_wake_irq_enable(hif_ctx);
@@ -2480,12 +2480,12 @@
*/
dev->watchdog_timeo = INT_MAX;
- hdd_debug("Unit-test suspend succeeded");
+ hdd_alert("Unit-test suspend succeeded");
return 0;
fake_apps_resume:
- hif_fake_apps_resume(hif_ctx);
+ hif_ut_apps_resume(hif_ctx);
enable_irqs:
QDF_BUG(!hif_apps_irqs_enable(hif_ctx));
@@ -2515,7 +2515,7 @@
return -EINVAL;
}
- hif_fake_apps_resume(hif_ctx);
+ hif_ut_apps_resume(hif_ctx);
__hdd_wlan_fake_apps_resume(wiphy, dev);
return 0;