qcacld-3.0: Add Driver Synchronization Core (enablement)
The Driver Synchronization Core (DSC) is a set of synchronization primitives for use by the driver's orchestration layer. It provides APIs for ensuring safe state transitions (including bring up and tear down) of major driver objects: a single driver, associated psocs, and their associated vdevs. APIs are divided into two categories: mutual exclusion of conflicting transitions, and operation tracking, blocking, and waiting capabilities. For part 6, enable the DSC component. Change-Id: I0ac37f479a4a38e346fb91ad041a4f51ccc6c879 CRs-Fixed: 2290260
此提交包含在:
29
Kbuild
29
Kbuild
@@ -166,6 +166,30 @@ ifeq ($(CONFIG_WLAN_FEATURE_PACKET_FILTERING), y)
|
||||
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_packet_filter.o
|
||||
endif
|
||||
|
||||
########### Driver Synchronization Core (DSC) ###########
|
||||
DSC_DIR := components/dsc
|
||||
DSC_INC_DIR := $(DSC_DIR)/inc
|
||||
DSC_SRC_DIR := $(DSC_DIR)/src
|
||||
DSC_TEST_DIR := $(DSC_DIR)/test
|
||||
|
||||
DSC_INC := \
|
||||
-I$(WLAN_ROOT)/$(DSC_INC_DIR) \
|
||||
-I$(WLAN_ROOT)/$(DSC_SRC_DIR) \
|
||||
-I$(WLAN_ROOT)/$(DSC_TEST_DIR)
|
||||
|
||||
DSC_OBJS := \
|
||||
$(DSC_SRC_DIR)/__wlan_dsc.o \
|
||||
$(DSC_SRC_DIR)/wlan_dsc_driver.o \
|
||||
$(DSC_SRC_DIR)/wlan_dsc_psoc.o \
|
||||
$(DSC_SRC_DIR)/wlan_dsc_vdev.o
|
||||
|
||||
ifeq ($(CONFIG_DSC_TEST), y)
|
||||
DSC_OBJS += $(DSC_TEST_DIR)/wlan_dsc_test.o
|
||||
endif
|
||||
|
||||
cppflags-$(CONFIG_DSC_DEBUG) += -DWLAN_DSC_DEBUG
|
||||
cppflags-$(CONFIG_DSC_TEST) += -DWLAN_DSC_TEST
|
||||
|
||||
########### HOST DIAG LOG ###########
|
||||
HOST_DIAG_LOG_DIR := $(WLAN_COMMON_ROOT)/utils/host_diag_log
|
||||
|
||||
@@ -188,8 +212,7 @@ EPPING_OBJS := $(EPPING_SRC_DIR)/epping_main.o \
|
||||
$(EPPING_SRC_DIR)/epping_txrx.o \
|
||||
$(EPPING_SRC_DIR)/epping_tx.o \
|
||||
$(EPPING_SRC_DIR)/epping_rx.o \
|
||||
$(EPPING_SRC_DIR)/epping_helper.o \
|
||||
|
||||
$(EPPING_SRC_DIR)/epping_helper.o
|
||||
|
||||
############ MAC ############
|
||||
MAC_DIR := core/mac
|
||||
@@ -1425,6 +1448,7 @@ endif
|
||||
LINUX_INC := -Iinclude
|
||||
|
||||
INCS := $(HDD_INC) \
|
||||
$(DSC_INC) \
|
||||
$(EPPING_INC) \
|
||||
$(LINUX_INC) \
|
||||
$(MAC_INC) \
|
||||
@@ -1519,6 +1543,7 @@ INCS += $(UMAC_SPECTRAL_INC)
|
||||
INCS += $(UMAC_TARGET_SPECTRAL_INC)
|
||||
|
||||
OBJS := $(HDD_OBJS) \
|
||||
$(DSC_OBJS) \
|
||||
$(MAC_OBJS) \
|
||||
$(SAP_OBJS) \
|
||||
$(SME_OBJS) \
|
||||
|
@@ -576,11 +576,16 @@ CONFIG_RX_OL := y
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SLUB_DEBUG_ON), y)
|
||||
CONFIG_DSC_DEBUG := y
|
||||
CONFIG_FEATURE_UNIT_TEST_SUSPEND := y
|
||||
CONFIG_LEAK_DETECTION := y
|
||||
CONFIG_UNIT_TEST := y
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_UNIT_TEST), y)
|
||||
CONFIG_DSC_TEST := y
|
||||
endif
|
||||
|
||||
# enable unit-test suspend for napier builds
|
||||
ifeq ($(CONFIG_LITHIUM), y)
|
||||
CONFIG_FEATURE_UNIT_TEST_SUSPEND := y
|
||||
|
@@ -92,6 +92,7 @@
|
||||
#include "os_if_wifi_pos.h"
|
||||
#include <cdp_txrx_stats.h>
|
||||
#include <cds_api.h>
|
||||
#include "wlan_dsc_test.h"
|
||||
#include <wlan_osif_priv.h>
|
||||
#include "wlan_hdd_regulatory.h"
|
||||
#include "wlan_reg_ucfg_api.h"
|
||||
@@ -5314,6 +5315,9 @@ static int hdd_we_unit_test(struct hdd_context *hdd_ctx, const char *component)
|
||||
else
|
||||
hdd_info("Starting unit tests for component '%s'", component);
|
||||
|
||||
if (all || qdf_str_eq(component, "dsc"))
|
||||
errors += dsc_unit_test();
|
||||
|
||||
/* add future tests here */
|
||||
|
||||
if (errors) {
|
||||
|
新增問題並參考
封鎖使用者