qcacld-3.0: Featurize MCL only WMI APIs

Featurize MCL only WMI APIs by compiling them as a separate source.
It enables profiles/configs to selectively compile the WMI APIs
based on whether the feature is required or not.
Featurize WMI APIs and TLVs that are specific to MCL -
- DSRC
- NAN
- P2P
- PMO
- roaming
- concurrency
- STA
- Generic MCL specific WMI (STA)

Change-Id: I3b005b8f60491c7d27cf221b7505116e1b9c1a38
CRs-Fixed: 2333916
This commit is contained in:
Qiwei Cai
2018-09-17 19:58:29 +08:00
committed by nshrivas
parent 475de55e25
commit dcb73b0132
5 changed files with 51 additions and 0 deletions

37
Kbuild
View File

@@ -14,6 +14,7 @@ ifeq ($(KERNEL_BUILD), y)
WLAN_COMMON_ROOT := ../qca-wifi-host-cmn WLAN_COMMON_ROOT := ../qca-wifi-host-cmn
WLAN_COMMON_INC := $(WLAN_ROOT)/$(WLAN_COMMON_ROOT) WLAN_COMMON_INC := $(WLAN_ROOT)/$(WLAN_COMMON_ROOT)
endif endif
WLAN_COMMON_ROOT ?= ../qca-wifi-host-cmn WLAN_COMMON_ROOT ?= ../qca-wifi-host-cmn
WLAN_COMMON_INC ?= $(WLAN_ROOT)/$(WLAN_COMMON_ROOT) WLAN_COMMON_INC ?= $(WLAN_ROOT)/$(WLAN_COMMON_ROOT)
@@ -1051,6 +1052,7 @@ WMI_OBJS := $(WMI_OBJ_DIR)/wmi_unified.o \
ifeq ($(CONFIG_POWER_MANAGEMENT_OFFLOAD), y) ifeq ($(CONFIG_POWER_MANAGEMENT_OFFLOAD), y)
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_pmo_api.o WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_pmo_api.o
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_pmo_tlv.o
endif endif
ifeq ($(CONFIG_QCACLD_FEATURE_APF), y) ifeq ($(CONFIG_QCACLD_FEATURE_APF), y)
@@ -1076,11 +1078,41 @@ WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_twt_api.o
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_twt_tlv.o WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_twt_tlv.o
endif endif
ifeq ($(CONFIG_WLAN_FEATURE_DSRC), y)
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_ocb_api.o
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_ocb_tlv.o
endif
ifeq ($(CONFIG_FEATURE_WLAN_EXTSCAN), y) ifeq ($(CONFIG_FEATURE_WLAN_EXTSCAN), y)
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_extscan_api.o WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_extscan_api.o
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_extscan_tlv.o WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_extscan_tlv.o
endif endif
ifeq ($(CONFIG_NAN_CONVERGENCE), y)
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_nan_api.o
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_nan_tlv.o
endif
ifeq ($(CONFIG_CONVERGED_P2P_ENABLE), y)
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_p2p_api.o
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_p2p_tlv.o
endif
ifeq ($(CONFIG_WMI_ROAM_SUPPORT), y)
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_roam_api.o
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_roam_tlv.o
endif
ifeq ($(CONFIG_WMI_CONCURRENCY_SUPPORT), y)
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_concurrency_api.o
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_concurrency_tlv.o
endif
ifeq ($(CONFIG_WMI_STA_SUPPORT), y)
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_sta_api.o
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_sta_tlv.o
endif
########### FWLOG ########### ########### FWLOG ###########
FWLOG_DIR := $(WLAN_COMMON_ROOT)/utils/fwlog FWLOG_DIR := $(WLAN_COMMON_ROOT)/utils/fwlog
@@ -2313,6 +2345,11 @@ ifeq ($(CONFIG_CONVERGED_P2P_ENABLE), y)
cppflags-$(CONFIG_FEATURE_P2P_LISTEN_OFFLOAD) += -DFEATURE_P2P_LISTEN_OFFLOAD cppflags-$(CONFIG_FEATURE_P2P_LISTEN_OFFLOAD) += -DFEATURE_P2P_LISTEN_OFFLOAD
endif endif
#Flags to enable/disable WMI APIs
cppflags-$(CONFIG_WMI_ROAM_SUPPORT) += -DWMI_ROAM_SUPPORT
cppflags-$(CONFIG_WMI_CONCURRENCY_SUPPORT) += -DWMI_CONCURRENCY_SUPPORT
cppflags-$(CONFIG_WMI_STA_SUPPORT) += -DWMI_STA_SUPPORT
# Dummy flag for WIN/MCL converged data path compilation # Dummy flag for WIN/MCL converged data path compilation
cppflags-y += -DDP_PRINT_ENABLE=0 cppflags-y += -DDP_PRINT_ENABLE=0
cppflags-y += -DATH_SUPPORT_WRAP=0 cppflags-y += -DATH_SUPPORT_WRAP=0

View File

@@ -625,6 +625,11 @@ CONFIG_FEATURE_CONCURRENCY_MATRIX := y
CONFIG_FEATURE_SAP_COND_CHAN_SWITCH := y CONFIG_FEATURE_SAP_COND_CHAN_SWITCH := y
CONFIG_FEATURE_P2P_LISTEN_OFFLOAD := y CONFIG_FEATURE_P2P_LISTEN_OFFLOAD := y
#Flags to enable/disable WMI APIs
CONFIG_WMI_ROAM_SUPPORT := y
CONFIG_WMI_CONCURRENCY_SUPPORT := y
CONFIG_WMI_STA_SUPPORT := y
ifeq ($(CONFIG_HELIUMPLUS), y) ifeq ($(CONFIG_HELIUMPLUS), y)
ifneq ($(CONFIG_FORCE_ALLOC_FROM_DMA_ZONE), y) ifneq ($(CONFIG_FORCE_ALLOC_FROM_DMA_ZONE), y)
CONFIG_ENABLE_DEBUG_ADDRESS_MARKING := y CONFIG_ENABLE_DEBUG_ADDRESS_MARKING := y

View File

@@ -136,6 +136,11 @@ CONFIG_FEATURE_CONCURRENCY_MATRIX := n
CONFIG_FEATURE_SAP_COND_CHAN_SWITCH := n CONFIG_FEATURE_SAP_COND_CHAN_SWITCH := n
CONFIG_FEATURE_P2P_LISTEN_OFFLOAD := n CONFIG_FEATURE_P2P_LISTEN_OFFLOAD := n
#Flags to enable/disable WMI APIs
CONFIG_WMI_ROAM_SUPPORT := y
CONFIG_WMI_CONCURRENCY_SUPPORT := y
CONFIG_WMI_STA_SUPPORT := y
ifeq ($(CONFIG_ARCH_SDM845), y) ifeq ($(CONFIG_ARCH_SDM845), y)
ifeq ($(CONFIG_IPA_OFFLOAD), y) ifeq ($(CONFIG_IPA_OFFLOAD), y)
CONFIG_ENABLE_SMMU_S1_TRANSLATION := y CONFIG_ENABLE_SMMU_S1_TRANSLATION := y

View File

@@ -2554,6 +2554,7 @@ QDF_STATUS wma_get_chain_rssi(tp_wma_handle wma_handle,
QDF_STATUS wma_config_bmiss_bcnt_params(uint32_t vdev_id, uint32_t first_cnt, QDF_STATUS wma_config_bmiss_bcnt_params(uint32_t vdev_id, uint32_t first_cnt,
uint32_t final_cnt); uint32_t final_cnt);
#ifdef WLAN_POWER_MANAGEMENT_OFFLOAD
/** /**
* wma_check_and_set_wake_timer(): checks all interfaces and if any interface * wma_check_and_set_wake_timer(): checks all interfaces and if any interface
* has install_key pending, sets timer pattern in fw to wake up host after * has install_key pending, sets timer pattern in fw to wake up host after
@@ -2563,6 +2564,7 @@ QDF_STATUS wma_config_bmiss_bcnt_params(uint32_t vdev_id, uint32_t first_cnt,
* Return: None * Return: None
*/ */
void wma_check_and_set_wake_timer(uint32_t time); void wma_check_and_set_wake_timer(uint32_t time);
#endif
/** /**
* wma_rx_invalid_peer_ind(): the callback for DP to notify WMA layer * wma_rx_invalid_peer_ind(): the callback for DP to notify WMA layer

View File

@@ -1124,6 +1124,7 @@ static QDF_STATUS wma_wow_set_wake_time(WMA_HANDLE wma_handle, uint8_t vdev_id,
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
#ifdef WLAN_POWER_MANAGEMENT_OFFLOAD
/** /**
* wma_check_and_set_wake_timer(): checks all interfaces and if any interface * wma_check_and_set_wake_timer(): checks all interfaces and if any interface
* has install_key pending, sets timer pattern in fw to wake up host after * has install_key pending, sets timer pattern in fw to wake up host after
@@ -1187,6 +1188,7 @@ int wma_unified_csa_offload_enable(tp_wma_handle wma, uint8_t vdev_id)
return 0; return 0;
} }
#endif /* WLAN_POWER_MANAGEMENT_OFFLOAD */
#ifdef WLAN_FEATURE_NAN #ifdef WLAN_FEATURE_NAN
/** /**