Browse Source

qcacld-3.0: Add Kbuild options for SDIO transfer methods

SDIO transfer between host and target can have multiple methods.
Legacy methods use the mailbox dma transfer method. Newer IP shall
use the adma transfer method.

Add build option for the transfer method.

Change-Id: Ibf2e20869d93f631db25008a95bdebf03875fcc0
CRs-Fixed: 2252432
Sriram Madhvapathi 6 years ago
parent
commit
82ec8e31d0
2 changed files with 19 additions and 5 deletions
  1. 16 5
      Kbuild
  2. 3 0
      configs/default_defconfig

+ 16 - 5
Kbuild

@@ -1174,16 +1174,21 @@ HIF_USB_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_USB_DIR)/usbdrv.o \
                 $(WLAN_COMMON_ROOT)/$(HIF_USB_DIR)/if_usb.o \
                 $(WLAN_COMMON_ROOT)/$(HIF_USB_DIR)/regtable_usb.o
 
-HIF_SDIO_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_sdio_send.o \
-                 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_bmi_reg_access.o \
+HIF_SDIO_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_bmi_reg_access.o \
                  $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_diag_reg_access.o \
                  $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_sdio_dev.o \
                  $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_sdio.o \
-                 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_sdio_recv.o \
-                 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/regtable_sdio.o
+                 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/regtable_sdio.o \
+                 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/transfer/transfer.o
+ifeq ($(CONFIG_SDIO_TRANSFER), adma)
+HIF_SDIO_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/transfer/adma.o
+else
+HIF_SDIO_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/transfer/mailbox.o
+endif
 
 HIF_SDIO_NATIVE_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_SDIO_NATIVE_SRC_DIR)/hif.o \
-                        $(WLAN_COMMON_ROOT)/$(HIF_SDIO_NATIVE_SRC_DIR)/hif_scatter.o
+                        $(WLAN_COMMON_ROOT)/$(HIF_SDIO_NATIVE_SRC_DIR)/hif_scatter.o \
+                        $(WLAN_COMMON_ROOT)/$(HIF_SDIO_NATIVE_SRC_DIR)/dev_quirks.o
 
 ifeq ($(CONFIG_WLAN_NAPI), y)
 HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/hif_napi.o
@@ -1719,6 +1724,12 @@ cppflags-y += -DCONFIG_HL_SUPPORT \
             -DCONFIG_PER_VDEV_TX_DESC_POOL \
             -DCONFIG_SDIO \
             -DFEATURE_WLAN_FORCE_SAP_SCC
+
+ifeq ($(CONFIG_SDIO_TRANSFER), adma)
+cppflags-y += -DCONFIG_SDIO_TRANSFER_ADMA
+else
+cppflags-y += -DCONFIG_SDIO_TRANSFER_MAILBOX
+endif
 endif
 
 ifeq ($(CONFIG_WLAN_FEATURE_DSRC), y)

+ 3 - 0
configs/default_defconfig

@@ -10,6 +10,9 @@ endif
 
 ifeq ($(CONFIG_CLD_HL_SDIO_CORE), y)
 	CONFIG_QCA_WIFI_SDIO := y
+ifndef CONFIG_SDIO_TRANSFER
+	CONFIG_SDIO_TRANSFER = mailbox
+endif
 endif
 
 ifeq ($(CONFIG_QCA_WIFI_SDIO), y)