Prechádzať zdrojové kódy

qcacld-3.0: Add code to support modularizing ICNSS ICNSS2 and CNSS2

Add code to support modularizing ICNSS, ICNSS2 and CNSS2.

Change-Id: I696715592f6000f2a64f8940f324b699acd5fcf1
CRs-fixed: 2685412
Mohammed Siddiq 4 rokov pred
rodič
commit
335ba9e938
4 zmenil súbory, kde vykonal 39 pridanie a 48 odobranie
  1. 6 4
      Kbuild
  2. 28 36
      configs/default_defconfig
  3. 1 4
      core/bmi/src/ol_fw_common.c
  4. 4 4
      core/pld/inc/pld_common.h

+ 6 - 4
Kbuild

@@ -2173,9 +2173,9 @@ PLD_OBJS +=     $(PLD_SRC_DIR)/pld_pcie.o
 endif
 ifeq ($(CONFIG_SNOC_FW_SIM),y)
 PLD_OBJS +=     $(PLD_SRC_DIR)/pld_snoc_fw_sim.o
-else ifeq ($(CONFIG_ICNSS),y)
+else ifeq (y,$(findstring y, $(CONFIG_ICNSS) $(CONFIG_ICNSS_MODULE)))
 PLD_OBJS +=     $(PLD_SRC_DIR)/pld_snoc.o
-else ifeq ($(CONFIG_ICNSS2),y)
+else ifeq (y,$(findstring y, $(CONFIG_ICNSS2) $(CONFIG_ICNSS2_MODULE)))
 PLD_OBJS +=     $(PLD_SRC_DIR)/pld_ipci.o
 endif
 
@@ -2567,7 +2567,7 @@ ifeq ($(CONFIG_BUS_AUTO_SUSPEND), y)
 cppflags-y += -DFEATURE_RUNTIME_PM
 endif
 
-ifeq ($(CONFIG_ICNSS), y)
+ifeq (y,$(findstring y, $(CONFIG_ICNSS) $(CONFIG_ICNSS_MODULE)))
 ifeq ($(CONFIG_SNOC_FW_SIM), y)
 cppflags-y += -DCONFIG_PLD_SNOC_FW_SIM
 else
@@ -2688,7 +2688,9 @@ cppflags-$(CONFIG_QCACLD_WLAN_LFR3) += -DWLAN_FEATURE_ROAM_OFFLOAD
 
 cppflags-$(CONFIG_WLAN_FEATURE_MBSSID) += -DWLAN_FEATURE_MBSSID
 
-cppflags-$(CONFIG_CNSS_GENL) += -DCNSS_GENL
+ifeq (y,$(findstring y, $(CONFIG_CNSS_GENL) $(CONFIG_CNSS_GENL_MODULE)))
+cppflags-y += -DCNSS_GENL
+endif
 
 cppflags-$(CONFIG_QCACLD_WLAN_LFR2) += -DWLAN_FEATURE_HOST_ROAM
 

+ 28 - 36
configs/default_defconfig

@@ -74,12 +74,28 @@ ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
 	CONFIG_ROME_IF = sdio
 endif
 
-ifdef CONFIG_ICNSS
+ifeq ($(CONFIG_ICNSS), m)
+	CONFIG_ICNSS_MODULE := y
+endif
+ifeq ($(CONFIG_CNSS), m)
+	CONFIG_CNSS_MODULE := y
+endif
+ifeq ($(CONFIG_CNSS2), m)
+	CONFIG_CNSS2_MODULE := y
+endif
+ifeq ($(CONFIG_ICNSS2), m)
+	CONFIG_ICNSS2_MODULE := y
+endif
+ifeq ($(CONFIG_CNSS_GENL), m)
+	CONFIG_CNSS_GENL_MODULE := y
+endif
+
+ifeq (y,$(findstring y,$(CONFIG_ICNSS) $(CONFIG_ICNSS_MODULE)))
 	CONFIG_ROME_IF = snoc
 	CONFIG_QCA_WIFI_SDIO := n
 endif
 
-ifdef CONFIG_ICNSS2
+ifeq (y,$(findstring y,$(CONFIG_ICNSS2) $(CONFIG_ICNSS2_MODULE)))
 	CONFIG_ROME_IF = ipci
 endif
 
@@ -87,16 +103,7 @@ ifdef CONFIG_IPCIE_FW_SIM
 	CONFIG_ROME_IF = ipci
 endif
 
-ifeq (y,$(findstring y,$(CONFIG_CNSS) $(CONFIG_CNSS2)))
-ifndef CONFIG_ROME_IF
-	#use pci as default interface
-ifndef CONFIG_IPCIE_FW_SIM
-	CONFIG_ROME_IF = pci
-endif
-endif
-endif
-
-ifeq (m,$(findstring m,$(CONFIG_CNSS2)))
+ifeq (y,$(findstring y,$(CONFIG_CNSS) $(CONFIG_CNSS_MODULE) $(CONFIG_CNSS2) $(CONFIG_CNSS2_MODULE)))
 ifndef CONFIG_ROME_IF
 	#use pci as default interface
 ifndef CONFIG_IPCIE_FW_SIM
@@ -108,7 +115,7 @@ endif
 # Make WLAN as open-source driver by default
 WLAN_OPEN_SOURCE := y
 
-ifeq ($(CONFIG_ICNSS), y)
+ifeq (y,$(findstring y,$(CONFIG_ICNSS) $(CONFIG_ICNSS_MODULE)))
 	CONFIG_HELIUMPLUS := y
 	CONFIG_64BIT_PADDR := y
 	CONFIG_FEATURE_TSO := y
@@ -281,7 +288,9 @@ CONFIG_SAE_SINGLE_PMK := y
 #Flag to enable FILS Feature (11ai)
 CONFIG_WLAN_FEATURE_FILS := y
 ifneq ($(CONFIG_QCA_CLD_WLAN),)
-	ifeq (y,$(findstring y,$(CONFIG_CNSS) $(CONFIG_CNSS2) $(CONFIG_ICNSS)$(CONFIG_ICNSS2)))
+	ifeq (y,$(findstring y,$(CONFIG_CNSS) $(CONFIG_CNSS_MODULE) $(CONFIG_CNSS2) \
+			$(CONFIG_CNSS2_MODULE) $(CONFIG_ICNSS) $(CONFIG_ICNSS_MODULE) \
+			$(CONFIG_ICNSS2) $(CONFIG_ICNSS2_MODULE)))
 	#Flag to enable Protected Management Frames (11w) feature
 	CONFIG_WLAN_FEATURE_11W := y
 	#Flag to enable LTE CoEx feature
@@ -292,16 +301,6 @@ ifneq ($(CONFIG_QCA_CLD_WLAN),)
 		endif
 	endif
 
-	ifeq (m,$(findstring m,$(CONFIG_CNSS2) $(CONFIG_ICNSS2)))
-	#Flag to enable Protected Management Frames (11w) feature
-	CONFIG_WLAN_FEATURE_11W := y
-	#Flag to enable LTE CoEx feature
-	CONFIG_QCOM_LTE_COEX := y
-		ifneq ($(CONFIG_MOBILE_ROUTER), y)
-		#Flag to enable LPSS feature
-		CONFIG_WLAN_FEATURE_LPSS := y
-		endif
-	endif
 endif
 
 #Flag to enable Protected Management Frames (11w) feature
@@ -420,7 +419,7 @@ endif
 #Whether have QMI support
 CONFIG_QMI_SUPPORT := y
 
-ifeq ($(CONFIG_ICNSS), y)
+ifeq (y,$(findstring y,$(CONFIG_ICNSS) $(CONFIG_ICNSS_MODULE)))
 CONFIG_WIFI_3_0_ADRASTEA := y
 CONFIG_ADRASTEA_RRI_ON_DDR := y
 # Enable athdiag procfs debug support for adrastea
@@ -935,7 +934,7 @@ CONFIG_WLAN_ALLOCATE_GLOBAL_BUFFERS_DYNAMICALLY := n
 CONFIG_WLAN_FEATURE_TWT := y
 CONFIG_FW_THERMAL_THROTTLE := y
 
-ifeq (y,$(findstring y,$(CONFIG_LITHIUM) $(CONFIG_ICNSS)))
+ifeq (y,$(findstring y,$(CONFIG_LITHIUM) $(CONFIG_ICNSS) $(CONFIG_ICNSS_MODULE)))
 CONFIG_WLAN_FEATURE_BMI := n
 else
 CONFIG_WLAN_FEATURE_BMI := y
@@ -1041,7 +1040,7 @@ CONFIG_DESC_DUP_DETECT_DEBUG := y
 CONFIG_DEBUG_RX_RING_BUFFER := y
 endif
 
-ifeq ($(CONFIG_CNSS), y)
+ifeq (y,$(findstring y,$(CONFIG_CNSS) $(CONFIG_CNSS_MODULE)))
 ifeq ($(CONFIG_CNSS_SDIO), y)
 CONFIG_PLD_SDIO_CNSS_FLAG := y
 endif
@@ -1050,18 +1049,11 @@ CONFIG_PLD_PCIE_CNSS_FLAG := y
 endif
 endif
 
-ifeq ($(CONFIG_ICNSS2), y)
+ifeq (y,$(findstring y,$(CONFIG_ICNSS2) $(CONFIG_ICNSS2_MODULE)))
 CONFIG_PLD_IPCI_ICNSS_FLAG := y
 endif
 
-ifeq ($(CONFIG_CNSS2), y)
-ifeq ($(CONFIG_HIF_PCI), y)
-CONFIG_PLD_PCIE_CNSS_FLAG := y
-CONFIG_PLD_PCIE_INIT_FLAG := y
-endif
-endif
-
-ifeq ($(CONFIG_CNSS2), m)
+ifeq (y,$(findstring y,$(CONFIG_CNSS2) $(CONFIG_CNSS2_MODULE)))
 ifeq ($(CONFIG_HIF_PCI), y)
 CONFIG_PLD_PCIE_CNSS_FLAG := y
 CONFIG_PLD_PCIE_INIT_FLAG := y

+ 1 - 4
core/bmi/src/ol_fw_common.c

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014-2019 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2014-2020 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -30,9 +30,6 @@
 #if defined(HIF_USB)
 #include "regtable_usb.h"
 #endif
-#if  defined(CONFIG_CNSS)
-#include <net/cnss.h>
-#endif
 #include "i_bmi.h"
 #include "cds_api.h"
 

+ 4 - 4
core/pld/inc/pld_common.h

@@ -24,7 +24,7 @@
 #include <linux/pm.h>
 #include <osapi_linux.h>
 
-#ifdef CONFIG_CNSS_UTILS
+#if IS_ENABLED(CONFIG_CNSS_UTILS)
 #include <net/cnss_utils.h>
 #endif
 
@@ -38,7 +38,7 @@
 
 #define TOTAL_DUMP_SIZE         0x00200000
 
-#ifdef CONFIG_WCNSS_MEM_PRE_ALLOC
+#if IS_ENABLED(CONFIG_WCNSS_MEM_PRE_ALLOC)
 #include <net/cnss_prealloc.h>
 #endif
 
@@ -449,7 +449,7 @@ int pld_get_audio_wlan_timestamp(struct device *dev,
 				 uint64_t *ts);
 #endif /* FEATURE_WLAN_TIME_SYNC_FTM */
 
-#ifdef CONFIG_CNSS_UTILS
+#if IS_ENABLED(CONFIG_CNSS_UTILS)
 /**
  * pld_set_wlan_unsafe_channel() - Set unsafe channel
  * @dev: device
@@ -836,7 +836,7 @@ int pld_pci_read_config_dword(struct pci_dev *pdev, int offset, uint32_t *val);
  *         Non zero failure code for errors
  */
 int pld_pci_write_config_dword(struct pci_dev *pdev, int offset, uint32_t val);
-#if defined(CONFIG_WCNSS_MEM_PRE_ALLOC) && defined(FEATURE_SKB_PRE_ALLOC)
+#if IS_ENABLED(CONFIG_WCNSS_MEM_PRE_ALLOC) && defined(FEATURE_SKB_PRE_ALLOC)
 
 /**
  * pld_nbuf_pre_alloc() - get allocated nbuf from platform driver.