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
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_INC := $(WLAN_ROOT)/$(WLAN_COMMON_ROOT)
endif
WLAN_COMMON_ROOT ?= ../qca-wifi-host-cmn
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)
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_pmo_api.o
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_pmo_tlv.o
endif
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
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)
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_extscan_api.o
WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_extscan_tlv.o
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_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
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
cppflags-y += -DDP_PRINT_ENABLE=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_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)
ifneq ($(CONFIG_FORCE_ALLOC_FROM_DMA_ZONE), 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_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_IPA_OFFLOAD), 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,
uint32_t final_cnt);
#ifdef WLAN_POWER_MANAGEMENT_OFFLOAD
/**
* 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
@ -2563,6 +2564,7 @@ QDF_STATUS wma_config_bmiss_bcnt_params(uint32_t vdev_id, uint32_t first_cnt,
* Return: None
*/
void wma_check_and_set_wake_timer(uint32_t time);
#endif
/**
* 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;
}
#ifdef WLAN_POWER_MANAGEMENT_OFFLOAD
/**
* 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
@ -1187,6 +1188,7 @@ int wma_unified_csa_offload_enable(tp_wma_handle wma, uint8_t vdev_id)
return 0;
}
#endif /* WLAN_POWER_MANAGEMENT_OFFLOAD */
#ifdef WLAN_FEATURE_NAN
/**