From a2dcb5fb9460d9df8d0659d2794f7c1772dd59a3 Mon Sep 17 00:00:00 2001 From: Dustin Brown Date: Fri, 20 Oct 2017 17:36:19 -0700 Subject: [PATCH] qcacld-3.0: Enable QDF cpu hotplug APIs Enable the new QDF CPU hotplug APIs in Kbuild when CONFIG_SMP is enabled. Change-Id: Ib3e1e1fe840f0aae662cd6d32527b174a9c2895c CRs-Fixed: 2133375 --- Kbuild | 35 +++++++++++++++++++++-------------- core/cds/src/cds_api.c | 3 +++ 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/Kbuild b/Kbuild index 57ad3d1beaf5..a39cb2b2dd97 100644 --- a/Kbuild +++ b/Kbuild @@ -780,27 +780,34 @@ SYS_OBJS := $(SYS_COMMON_SRC_DIR)/wlan_qct_sys.o \ ############ Qca-wifi-host-cmn ############ QDF_OS_DIR := qdf QDF_OS_INC_DIR := $(QDF_OS_DIR)/inc -QDF_OS_SRC_DIR := $(QDF_OS_DIR)/linux/src +QDF_OS_SRC_DIR := $(QDF_OS_DIR)/src +QDF_OS_LINUX_SRC_DIR := $(QDF_OS_DIR)/linux/src QDF_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(QDF_OS_SRC_DIR) +QDF_LINUX_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(QDF_OS_LINUX_SRC_DIR) QDF_INC := -I$(WLAN_COMMON_INC)/$(QDF_OS_INC_DIR) \ - -I$(WLAN_COMMON_INC)/$(QDF_OS_SRC_DIR) + -I$(WLAN_COMMON_INC)/$(QDF_OS_LINUX_SRC_DIR) -QDF_OBJS := $(QDF_OBJ_DIR)/qdf_defer.o \ - $(QDF_OBJ_DIR)/qdf_event.o \ - $(QDF_OBJ_DIR)/qdf_list.o \ - $(QDF_OBJ_DIR)/qdf_lock.o \ - $(QDF_OBJ_DIR)/qdf_mc_timer.o \ - $(QDF_OBJ_DIR)/qdf_mem.o \ - $(QDF_OBJ_DIR)/qdf_nbuf.o \ - $(QDF_OBJ_DIR)/qdf_threads.o \ - $(QDF_OBJ_DIR)/qdf_crypto.o \ - $(QDF_OBJ_DIR)/qdf_trace.o +QDF_OBJS := $(QDF_LINUX_OBJ_DIR)/qdf_defer.o \ + $(QDF_LINUX_OBJ_DIR)/qdf_event.o \ + $(QDF_LINUX_OBJ_DIR)/qdf_list.o \ + $(QDF_LINUX_OBJ_DIR)/qdf_lock.o \ + $(QDF_LINUX_OBJ_DIR)/qdf_mc_timer.o \ + $(QDF_LINUX_OBJ_DIR)/qdf_mem.o \ + $(QDF_LINUX_OBJ_DIR)/qdf_nbuf.o \ + $(QDF_LINUX_OBJ_DIR)/qdf_threads.o \ + $(QDF_LINUX_OBJ_DIR)/qdf_crypto.o \ + $(QDF_LINUX_OBJ_DIR)/qdf_trace.o ifeq ($(CONFIG_WLAN_DEBUGFS), y) -QDF_OBJS += $(QDF_OBJ_DIR)/qdf_debugfs.o +QDF_OBJS += $(QDF_LINUX_OBJ_DIR)/qdf_debugfs.o endif +# enable CPU hotplug support if SMP is enabled +ifeq ($(CONFIG_SMP),y) + QDF_OBJS += $(QDF_OBJ_DIR)/qdf_cpuhp.o + QDF_OBJS += $(QDF_LINUX_OBJ_DIR)/qdf_cpuhp.o +endif ##########OS_IF ####### OS_IF_DIR := $(WLAN_COMMON_ROOT)/os_if @@ -847,7 +854,7 @@ UMAC_COMMON_INC := -I$(WLAN_COMMON_INC)/umac/cmn_services/cmn_defs/inc \ UMAC_COMMON_OBJS := $(WLAN_COMMON_ROOT)/umac/cmn_services/utils/src/wlan_utility.o ifeq ($(CONFIG_WLAN_LRO), y) -QDF_OBJS += $(QDF_OBJ_DIR)/qdf_lro.o +QDF_OBJS += $(QDF_LINUX_OBJ_DIR)/qdf_lro.o endif ############ CDS (Connectivity driver services) ############ diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c index eeedb19c1dc4..3fbfb0fdc6e3 100644 --- a/core/cds/src/cds_api.c +++ b/core/cds/src/cds_api.c @@ -66,6 +66,7 @@ #include #include #include +#include "qdf_cpuhp.h" /* Preprocessor Definitions and Constants */ @@ -163,6 +164,7 @@ QDF_STATUS cds_init(void) qdf_lock_stats_init(); qdf_mem_init(); qdf_mc_timer_manager_init(); + qdf_cpuhp_init(); qdf_register_self_recovery_callback(cds_trigger_recovery); gp_cds_context = &g_cds_context; @@ -195,6 +197,7 @@ void cds_deinit(void) return; cds_recovery_work_deinit(); + qdf_cpuhp_deinit(); qdf_mc_timer_manager_exit(); qdf_mem_exit(); qdf_lock_stats_deinit();