瀏覽代碼

msm: ipa: compile ipa driver as part of DLKM

Make changes to enable IPA driver as part of vendor
component and compile as a DLKM. Disable ECM driver
for GKI configuration.

Change-Id: I6e2500fa31e3b53e23559bda6104a92958c5430d
Signed-off-by: Chaitanya Pratapa <[email protected]>
Chaitanya Pratapa 4 年之前
父節點
當前提交
2c4f0c1e17

+ 0 - 1
config/dataipa_GKI.conf

@@ -3,4 +3,3 @@ export CONFIG_IPA_CLIENTS_MANAGER=m
 export CONFIG_IPA_WDI_UNIFIED_API=y
 export CONFIG_RMNET_IPA3=y
 export CONFIG_RNDIS_IPA=m
-export CONFIG_ECM_IPA=m

+ 10 - 0
config/dataipa_vendor.h

@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+* Copyright (c) 2021, The Linux Foundation. All rights reserved.
+*/
+
+#define CONFIG_GSI 1
+#define CONFIG_RMNET_IPA3 1
+#define CONFIG_RNDIS_IPA 1
+#define CONFIG_IPA_WDI_UNIFIED_API 1
+#define CONFIG_IPA_VENDOR_DLKM 1

+ 11 - 0
dataipa_dlkm_vendor_board.mk

@@ -0,0 +1,11 @@
+#Build ipa
+DATA_DLKM_BOARD_PLATFORMS_LIST := taro
+ifneq ($(TARGET_BOARD_AUTO),true)
+ifeq ($(call is-board-platform-in-list,$(DATA_DLKM_BOARD_PLATFORMS_LIST)),true)
+BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/gsim.ko
+BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/ipam.ko
+BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/ipanetm.ko
+BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/rndisipam.ko
+BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/ipa_clientsm.ko
+endif
+endif

+ 5 - 0
dataipa_dlkm_vendor_product.mk

@@ -0,0 +1,5 @@
+PRODUCT_PACKAGES += gsim.ko
+PRODUCT_PACKAGES += ipam.ko
+PRODUCT_PACKAGES += ipanetm.ko
+PRODUCT_PACKAGES += rndisipam.ko
+PRODUCT_PACKAGES += ipa_clientsm.ko

+ 65 - 0
drivers/platform/msm/Android.mk

@@ -0,0 +1,65 @@
+ifneq ($(TARGET_PRODUCT),qssi)
+GSI_DLKM_PLATFORMS_LIST := taro
+
+ifeq ($(call is-board-platform-in-list, $(GSI_DLKM_PLATFORMS_LIST)),true)
+#Make file to create GSI DLKM
+DLKM_DIR := $(TOP)/device/qcom/common/dlkm
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_CFLAGS := -Wno-macro-redefined -Wno-unused-function -Wall -Werror
+LOCAL_CLANG :=true
+
+
+KBUILD_OPTIONS += MODNAME=gsim
+LOCAL_SRC_FILES   := $(wildcard $(LOCAL_PATH)/**/*) $(wildcard $(LOCAL_PATH)/*)
+LOCAL_MODULE              := gsim.ko
+LOCAL_MODULE_KBUILD_NAME  := gsi/gsim.ko
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
+$(warning $(DLKM_DIR))
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+
+
+include $(CLEAR_VARS)
+KBUILD_OPTIONS += MODNAME=ipam
+LOCAL_SRC_FILES   := $(wildcard $(LOCAL_PATH)/**/*) $(wildcard $(LOCAL_PATH)/*)
+LOCAL_MODULE              := ipam.ko
+LOCAL_MODULE_KBUILD_NAME  := ipa/ipam.ko
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
+$(warning $(DLKM_DIR))
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+
+include $(CLEAR_VARS)
+KBUILD_OPTIONS += MODNAME=ipanetm
+LOCAL_SRC_FILES   := $(wildcard $(LOCAL_PATH)/**/*) $(wildcard $(LOCAL_PATH)/*)
+LOCAL_MODULE              := ipanetm.ko
+LOCAL_MODULE_KBUILD_NAME  := ipa/ipanetm.ko
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
+$(warning $(DLKM_DIR))
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+
+include $(CLEAR_VARS)
+KBUILD_OPTIONS += MODNAME=rndisipam
+LOCAL_SRC_FILES   := $(wildcard $(LOCAL_PATH)/**/*) $(wildcard $(LOCAL_PATH)/*)
+LOCAL_MODULE              := rndisipam.ko
+LOCAL_MODULE_KBUILD_NAME  := ipa/ipa_clients/rndisipam.ko
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
+$(warning $(DLKM_DIR))
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+
+include $(CLEAR_VARS)
+KBUILD_OPTIONS += MODNAME=ipaclientsm
+LOCAL_SRC_FILES   := $(wildcard $(LOCAL_PATH)/**/*) $(wildcard $(LOCAL_PATH)/*)
+LOCAL_MODULE              := ipa_clientsm.ko
+LOCAL_MODULE_KBUILD_NAME  := ipa/ipa_clients/ipa_clientsm.ko
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
+$(warning $(DLKM_DIR))
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+
+endif #End of Check for target
+endif #End of Check for qssi target

+ 11 - 2
drivers/platform/msm/Kbuild

@@ -1,4 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
+DATAIPADRVTOP = $(srctree)/techpack/dataipa/drivers/platform/msm
 
 #MSMs - GKI
 ifeq ($(filter $(CONFIG_ARCH_LAHAINA) $(CONFIG_ARCH_HOLI), y),y)
@@ -14,6 +15,16 @@ include $(srctree)/techpack/dataipa/config/dataipa_GKI.conf
 endif
 endif
 
+#MSM - Vendor SI
+ifeq ($(CONFIG_ARCH_WAIPIO), y)
+DATAIPADRVTOP = $(srctree)/../../vendor/qcom/opensource/dataipa/drivers/platform/msm
+LINUXINCLUDE    += -include $(srctree)/../../vendor/qcom/opensource/dataipa/config/dataipa_vendor.h
+include $(srctree)/../../vendor/qcom/opensource/dataipa/config/dataipa_GKI.conf
+ifeq ($(CONFIG_LOCALVERSION), "-gki-consolidate")
+include $(srctree)/../../vendor/qcom/opensource/dataipa/config/dataipa_debug.conf
+LINUXINCLUDE    += -include $(srctree)/../../vendor/qcom/opensource/dataipa/config/dataipa_debug.h
+endif
+endif
 
 #MDMs
 ifeq ($(CONFIG_ARCH_SDXLEMUR), y)
@@ -34,8 +45,6 @@ LINUXINCLUDE    += -include $(srctree)/techpack/dataipa/config/dataipa_debug.h
 endif
 endif
 
-DATAIPADRVTOP = $(srctree)/techpack/dataipa/drivers/platform/msm
-
 ifneq (,$(filter $(CONFIG_IPA3) $(CONFIG_GSI),y m))
 LINUXINCLUDE += -I$(DATAIPADRVTOP)/gsi
 LINUXINCLUDE += -I$(DATAIPADRVTOP)/gsi/gsihal

+ 13 - 0
drivers/platform/msm/Makefile

@@ -0,0 +1,13 @@
+ifeq ($(KP_MODULE_ROOT),)
+KP_MODULE_ROOT=$(KERNEL_SRC)/$(M)
+endif
+
+KBUILD_OPTIONS+=KBUILD_DTC_INCLUDE=$(KP_MODULE_ROOT)
+
+all: modules # dtbs
+
+clean:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) clean
+
+%:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) $@ $(KBUILD_OPTIONS)