Browse Source

dataipa: Bazel transition of IPA driver

Add changes to migrate to Bazel for IPA driver compilation.

Change-Id: If4da7ffcb24db3f2b3bfe67678b4a73a59f58ba5
Signed-off-by: Chaitanya Pratapa <[email protected]>
Chaitanya Pratapa 1 year ago
parent
commit
7c9aad4ac3

+ 97 - 0
BUILD.bazel

@@ -0,0 +1,97 @@
+load(":define_modules.bzl", "define_modules")
+load("//build/kernel/kleaf:kernel.bzl", "ddk_headers")
+
+define_modules("pineapple", "consolidate")
+
+define_modules("pineapple", "gki")
+
+package(
+    default_visibility = [
+        "//visibility:public",
+    ],
+)
+
+ddk_headers(
+    name = "include_headers",
+    hdrs = glob([
+        "drivers/platform/msm/include/linux/*.h",
+        "drivers/platform/msm/include/uapi/linux/*.h",
+    ]),
+    includes = [
+        "drivers/platform/msm/include",
+        "drivers/platform/msm/include/linux",
+        "drivers/platform/msm/include/uapi",
+    ],
+)
+
+ddk_headers(
+    name = "gsi_headers",
+    hdrs = glob([
+        "drivers/platform/msm/gsi/*.h",
+        "drivers/platform/msm/gsi/gsihal/*.h",
+    ]),
+    includes = [
+        "drivers/platform/msm/gsi",
+        "drivers/platform/msm/gsi/gsihal",
+    ],
+)
+
+ddk_headers(
+    name = "ipa_headers",
+    hdrs = glob([
+        "drivers/platform/msm/ipa/*.h",
+        "drivers/platform/msm/ipa/ipa_test_module/*.h",
+        "drivers/platform/msm/ipa/ipa_v3/*.h",
+        "drivers/platform/msm/ipa/ipa_v3/ipahal/*.h",
+    ]),
+    includes = [
+        "drivers/platform/msm/ipa",
+        "drivers/platform/msm/ipa/ipa_test_module",
+        "drivers/platform/msm/ipa/ipa_v3",
+        "drivers/platform/msm/ipa/ipa_v3/ipahal",
+    ],
+)
+
+ddk_headers(
+    name = "ipa_clients",
+    hdrs = glob([
+        "drivers/platform/msm/ipa/ipa_clients/*.h",
+    ]),
+    includes = ["drivers/platform/msm/ipa/ipa_clients"],
+)
+
+ddk_headers(
+    name = "consolidate_config_headers",
+    hdrs = [
+        "config/dataipa_debug.h",
+        "config/dataipa_vendor.h",
+    ],
+    includes = ["config"],
+)
+
+ddk_headers(
+    name = "gki_config_headers",
+    hdrs = [
+        "config/dataipa_vendor.h",
+    ],
+    includes = ["config"],
+)
+
+genrule(
+    name = "consolidate_defconfig",
+    srcs = [
+        "config/dataipa_GKI_consolidate.conf",
+        "config/dataipa_GKI.conf",
+    ],
+    outs = ["consolidate_defconfig.conf"],
+    cmd = "cat $(SRCS) | sed -e 's/^export //g' > $@",
+)
+
+genrule(
+    name = "gki_defconfig",
+    srcs = [
+        "config/dataipa_GKI.conf",
+    ],
+    outs = ["gki_defconfig.conf"],
+    cmd = "cat $(SRCS) | sed -e 's/^export //g' > $@",
+)

+ 68 - 0
config/Kconfig

@@ -0,0 +1,68 @@
+config GSI
+        tristate "Short description of export GSI"
+        help
+          Long description of export GSI
+
+config IPA_CLIENTS_MANAGER
+        tristate "Short description of export IPA_CLIENTS_MANAGER"
+        help
+          Long description of export IPA_CLIENTS_MANAGER
+config IPA_WDI_UNIFIED_API
+        bool "Short description of export IPA_WDI_UNIFIED_API"
+        help
+          Long description of export IPA_WDI_UNIFIED_API
+
+config RMNET_IPA3
+        bool "Short description of export RMNET_IPA3"
+        help
+          Long description of export RMNET_IPA3
+
+config RNDIS_IPA
+        tristate "Short description of export RNDIS_IPA"
+        help
+          Long description of export RNDIS_IPA
+
+config IPA3_REGDUMP
+        bool "Short description of export IPA3_REGDUMP"
+        help
+          Long description of export IPA3_REGDUMP
+
+config IPA3_REGDUMP_IPA_5_5
+        bool "Short description of export IPA3_REGDUMP_IPA_5_5"
+        help
+          Long description of export IPA3_REGDUMP_IPA_5_5
+
+config IPA_KERNEL_TESTS_MODULE
+        tristate "Short description of export IPA_KERNEL_TESTS_MODULE"
+        help
+          Long description of export IPA_KERNEL_TESTS_MODULE
+
+config IPA3_MHI_PRIME_MANAGER
+        bool "Short description of export IPA_KERNEL_TESTS_MODULE"
+        help
+          Long description of export IPA_KERNEL_TESTS_MODULE
+
+config IPA_TSP
+        bool "Short description of export IPA_TSP"
+        help
+          Long description of export IPA_TSP
+
+config ECM_IPA
+        bool "Short description of export CONFIG_ECM_IPA"
+        help
+          Long description of export CONFIG_ECM_IPA
+
+config IPA_EMULATION
+        bool "Short description of export CONFIG_IPA_EMULATION"
+        help
+          Long description of export CONFIG_IPA_EMULATION
+
+config IPA_DEBUG
+        bool "Short description of export IPA_DEBUG"
+        help
+          Long description of export IPA_DEBUG
+
+config IPA_UT
+        bool "Short description of export CONFIG_IPA_UT"
+        help
+          Long description of export CONFIG_IPA_UT

+ 0 - 1
config/dataipa_GKI_consolidate.conf

@@ -1,3 +1,2 @@
 export CONFIG_IPA_DEBUG=y
 export CONFIG_IPA_UT=y
-export CONFIG_IPA_KERNEL_TESTS_MODULE=m

+ 253 - 0
define_modules.bzl

@@ -0,0 +1,253 @@
+load("//build/bazel_common_rules/dist:dist.bzl", "copy_to_dist_dir")
+load("//msm-kernel:target_variants.bzl", "get_all_variants")
+load("//build/kernel/kleaf:kernel.bzl", "ddk_module")
+
+def define_modules(target, variant):
+    kernel_build_variant = "{}_{}".format(target, variant)
+    include_base = "../../../{}".format(native.package_name())
+
+    #The below will take care of the defconfig
+    include_defconfig = ":{}_defconfig".format(variant)
+
+    mod_list = []
+
+    ddk_module(
+        name = "{}_gsim".format(kernel_build_variant),
+        out = "gsim.ko",
+        srcs = [
+            "drivers/platform/msm/gsi/gsi.c",
+            "drivers/platform/msm/gsi/gsi.h",
+            "drivers/platform/msm/gsi/gsi_dbg.c",
+            "drivers/platform/msm/gsi/gsi_emulation.h",
+            "drivers/platform/msm/gsi/gsi_emulation_stubs.h",
+            "drivers/platform/msm/gsi/gsi_trace.h",
+            "drivers/platform/msm/gsi/gsihal/gsihal.c",
+            "drivers/platform/msm/gsi/gsihal/gsihal.h",
+            "drivers/platform/msm/gsi/gsihal/gsihal_i.h",
+            "drivers/platform/msm/gsi/gsihal/gsihal_reg.c",
+            "drivers/platform/msm/gsi/gsihal/gsihal_reg.h",
+            "drivers/platform/msm/gsi/gsihal/gsihal_reg_i.h",
+        ],
+        kconfig = "config/Kconfig",
+        defconfig = include_defconfig,
+        conditional_srcs = {
+            "CONFIG_IPA_EMULATION": {
+                True: [
+                    "drivers/platform/msm/gsi/gsi_emulation.c",
+                ],
+            },
+        },
+        local_defines = [
+            "GSI_TRACE_INCLUDE_PATH={}/drivers/platform/msm/gsi".format(include_base),
+        ],
+        kernel_build = "//msm-kernel:{}".format(kernel_build_variant),
+        deps = [
+            ":gsi_headers",
+            ":include_headers",
+            "//msm-kernel:all_headers",
+        ],
+    )
+    mod_list.append("{}_gsim".format(kernel_build_variant))
+
+    ddk_module(
+        name = "{}_ipam".format(kernel_build_variant),
+        out = "ipam.ko",
+        srcs = [
+            "drivers/platform/msm/ipa/ipa_v3/ipa.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_client.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_defs.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_dma.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_dp.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_emulation_stubs.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_eth_i.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_flt.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_hdr.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_hw_stats.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_i.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_interrupts.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_intf.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_mhi.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_mhi_proxy.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_mhi_proxy.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_nat.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_odl.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_odl.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_pm.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_pm.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_qdss.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_qmi_service.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_qmi_service.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_qmi_service_v01.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_rt.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_stats.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_stats.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_trace.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_uc.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_uc_holb_monitor.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_uc_holb_monitor.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_uc_mhi.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_uc_ntn.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_uc_offload_i.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_uc_wdi.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_utils.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_wdi3_i.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_wigig_i.c",
+            "drivers/platform/msm/ipa/ipa_v3/rmnet_ctl_ipa.c",
+            "drivers/platform/msm/ipa/ipa_v3/rmnet_ipa.c",
+            "drivers/platform/msm/ipa/ipa_v3/rmnet_ipa_fd_ioctl.c",
+            "drivers/platform/msm/ipa/ipa_v3/rmnet_ll_ipa.c",
+            "drivers/platform/msm/ipa/ipa_v3/teth_bridge.c",
+            "drivers/platform/msm/ipa/ipa_clients/ipa_eth.c",
+            "drivers/platform/msm/ipa/ipa_clients/ipa_gsb.c",
+            "drivers/platform/msm/ipa/ipa_clients/ipa_mhi_client.c",
+            "drivers/platform/msm/ipa/ipa_clients/ipa_uc_offload.c",
+            "drivers/platform/msm/ipa/ipa_clients/ipa_usb.c",
+            "drivers/platform/msm/ipa/ipa_clients/ipa_wdi3.c",
+            "drivers/platform/msm/ipa/ipa_clients/ipa_wigig.c",
+            "drivers/platform/msm/ipa/ipa_clients/rndis_ipa.h",
+            "drivers/platform/msm/ipa/ipa_clients/rndis_ipa_trace.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_fltrt.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_fltrt.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_fltrt_i.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_hw_stats.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_hw_stats.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_hw_stats_i.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_i.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_nat.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_nat.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_nat_i.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_reg.c",
+            "drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_reg.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_reg_i.h",
+            "drivers/platform/msm/ipa/ipa_v3/ipa_tsp.h",
+            "drivers/platform/msm/ipa/ipa_clients/ecm_ipa.h",
+            "drivers/platform/msm/ipa/ipa_v3/dump/ipa5.5/gsi_hwio.h",
+            "drivers/platform/msm/ipa/ipa_v3/dump/ipa5.5/gsi_hwio_def.h",
+            "drivers/platform/msm/ipa/ipa_v3/dump/ipa5.5/ipa_access_control.h",
+            "drivers/platform/msm/ipa/ipa_v3/dump/ipa5.5/ipa_gcc_hwio.h",
+            "drivers/platform/msm/ipa/ipa_v3/dump/ipa5.5/ipa_gcc_hwio_def.h",
+            "drivers/platform/msm/ipa/ipa_v3/dump/ipa5.5/ipa_hw_common_ex.h",
+            "drivers/platform/msm/ipa/ipa_v3/dump/ipa5.5/ipa_hwio.h",
+            "drivers/platform/msm/ipa/ipa_v3/dump/ipa5.5/ipa_hwio_def.h",
+            "drivers/platform/msm/ipa/ipa_v3/dump/ipa5.5/ipa_pkt_cntxt.h",
+            "drivers/platform/msm/ipa/ipa_v3/dump/ipa5.5/ipa_reg_dump.c",
+            "drivers/platform/msm/ipa/ipa_v3/dump/ipa5.5/ipa_reg_dump.h",
+            "drivers/platform/msm/ipa/ipa_common_i.h",
+            "drivers/platform/msm/ipa/ipa_rm.c",
+            "drivers/platform/msm/ipa/ipa_rm_dependency_graph.c",
+            "drivers/platform/msm/ipa/ipa_rm_dependency_graph.h",
+            "drivers/platform/msm/ipa/ipa_rm_i.h",
+            "drivers/platform/msm/ipa/ipa_rm_inactivity_timer.c",
+            "drivers/platform/msm/ipa/ipa_rm_peers_list.c",
+            "drivers/platform/msm/ipa/ipa_rm_peers_list.h",
+            "drivers/platform/msm/ipa/ipa_rm_resource.c",
+            "drivers/platform/msm/ipa/ipa_rm_resource.h",
+            "drivers/platform/msm/ipa/ipa_uc_offload_common_i.h",
+        ],
+        kconfig = "config/Kconfig",
+        defconfig = include_defconfig,
+        conditional_srcs = {
+            "CONFIG_IPA3_MHI_PRIME_MANAGER": {
+                True: [
+                    "drivers/platform/msm/ipa/ipa_v3/ipa_mpm.c",
+                ],
+            },
+            "CONFIG_IPA_TSP": {
+                True: [
+                    "drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_tsp.c",
+                    "drivers/platform/msm/ipa/ipa_v3/ipa_tsp.c",
+                ],
+            },
+            "CONFIG_ECM_IPA": {
+                True: [
+                    "drivers/platform/msm/ipa/ipa_clients/ecm_ipa.c",
+                ],
+            },
+            "CONFIG_RNDIS_IPA": {
+                True: [
+                    "drivers/platform/msm/ipa/ipa_clients/rndis_ipa.c",
+                ],
+            },
+        },
+        local_defines = [
+            "GSI_TRACE_INCLUDE_PATH={}/drivers/platform/msm/gsi".format(include_base),
+            "IPA_TRACE_INCLUDE_PATH={}/drivers/platform/msm/ipa/ipa_v3".format(include_base),
+            "RNDIS_TRACE_INCLUDE_PATH={}/drivers/platform/msm/ipa/ipa_clients".format(include_base),
+        ],
+        kernel_build = "//msm-kernel:{}".format(kernel_build_variant),
+        deps = [
+            ":{}_config_headers".format(variant),
+            ":gsi_headers",
+            ":include_headers",
+            ":ipa_headers",
+            ":ipa_clients",
+            "//msm-kernel:all_headers",
+            ":{}_gsim".format(kernel_build_variant),
+        ],
+    )
+    mod_list.append("{}_ipam".format(kernel_build_variant))
+
+    ddk_module(
+        name = "{}_ipanetm".format(kernel_build_variant),
+        out = "ipanetm.ko",
+        srcs = [
+            "drivers/platform/msm/ipa/ipa_v3/ipa_net.c",
+        ],
+        kconfig = "config/Kconfig",
+        defconfig = include_defconfig,
+        kernel_build = "//msm-kernel:{}".format(kernel_build_variant),
+        local_defines = [
+            "RNDIS_TRACE_INCLUDE_PATH={}/drivers/platform/msm/ipa/ipa_clients".format(include_base),
+        ],
+        deps = [
+            ":{}_config_headers".format(variant),
+            ":{}_ipam".format(kernel_build_variant),
+            ":gsi_headers",
+            ":include_headers",
+            ":ipa_headers",
+            ":ipa_clients",
+            "//msm-kernel:all_headers",
+        ],
+    )
+    mod_list.append("{}_ipanetm".format(kernel_build_variant))
+
+    if variant == "consolidate":
+        ddk_module(
+            name = "{}_ipatestm".format(kernel_build_variant),
+            out = "ipatestm.ko",
+            srcs = [
+                "drivers/platform/msm/ipa/ipa_test_module/ipa_rm_ut.c",
+                "drivers/platform/msm/ipa/ipa_test_module/ipa_rm_ut.h",
+                "drivers/platform/msm/ipa/ipa_test_module/ipa_test_module.h",
+                "drivers/platform/msm/ipa/ipa_test_module/ipa_test_module_impl.c",
+                "drivers/platform/msm/ipa/ipa_test_module/ipa_test_module_tsp.h",
+            ],
+            kconfig = "config/Kconfig",
+            defconfig = include_defconfig,
+            kernel_build = "//msm-kernel:{}".format(kernel_build_variant),
+            deps = [
+                ":consolidate_config_headers",
+                ":{}_ipam".format(kernel_build_variant),
+                ":gsi_headers",
+                ":include_headers",
+                ":ipa_headers",
+                ":ipa_clients",
+                "//msm-kernel:all_headers",
+                ":{}_gsim".format(kernel_build_variant),
+            ],
+        )
+        mod_list.append("{}_ipatestm".format(kernel_build_variant))
+
+    copy_to_dist_dir(
+        name = "{}_modules_dist".format(kernel_build_variant),
+        data = mod_list,
+        dist_dir = "out/target/product/{}/dlkm/lib/modules/".format(target),
+        flat = True,
+        wipe_dist_dir = False,
+        allow_duplicate_filenames = False,
+        mode_overrides = {"**/*": "644"},
+        log = "info",
+    )

+ 7 - 10
drivers/platform/msm/Android.mk

@@ -2,6 +2,13 @@ ifneq ($(TARGET_BOARD_PLATFORM),qssi)
 
 GSI_DLKM_PLATFORMS_LIST := taro kalama bengal monaco pineapple
 
+#Enabling BAZEL
+LOCAL_MODULE_DDK_BUILD := true
+LOCAL_MODULE_KO_DIRS := gsi/gsim.ko
+LOCAL_MODULE_KO_DIRS += ipa/ipam.ko
+LOCAL_MODULE_KO_DIRS += ipa/ipanetm.ko
+LOCAL_MODULE_KO_DIRS += ipa/ipatestm.ko
+
 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
@@ -44,16 +51,6 @@ 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
-
 include $(CLEAR_VARS)
 KBUILD_OPTIONS += MODNAME=ipatestm
 LOCAL_SRC_FILES   := $(wildcard $(LOCAL_PATH)/**/*) $(wildcard $(LOCAL_PATH)/*)

+ 7 - 4
drivers/platform/msm/gsi/gsi_trace.h

@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #undef TRACE_SYSTEM
@@ -47,10 +47,13 @@ TRACE_EVENT(
 #endif /* _GSI_TRACE_H */
 
 /* This part must be outside protection */
-#undef TRACE_INCLUDE_PATH
+#ifndef GSI_TRACE_INCLUDE_PATH
 #ifdef CONFIG_IPA_VENDOR_DLKM
-#define TRACE_INCLUDE_PATH ../../../../vendor/qcom/opensource/dataipa/drivers/platform/msm/gsi
+#define GSI_TRACE_INCLUDE_PATH ../../../../vendor/qcom/opensource/dataipa/drivers/platform/msm/gsi
 #else
-#define TRACE_INCLUDE_PATH ../../techpack/dataipa/drivers/platform/msm/gsi
+#define GSI_TRACE_INCLUDE_PATH ../../techpack/dataipa/drivers/platform/msm/gsi
 #endif
+#endif
+
+#define TRACE_INCLUDE_PATH GSI_TRACE_INCLUDE_PATH
 #include <trace/define_trace.h>

+ 7 - 3
drivers/platform/msm/ipa/ipa_clients/rndis_ipa_trace.h

@@ -1,6 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Copyright (c) 2015-2021, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #undef TRACE_SYSTEM
@@ -69,10 +70,13 @@ TRACE_EVENT(
 #endif /* _RNDIS_IPA_TRACE_H */
 
 /* This part must be outside protection */
-#undef TRACE_INCLUDE_PATH
+#ifndef RNDIS_TRACE_INCLUDE_PATH
 #ifdef CONFIG_IPA_VENDOR_DLKM
-#define TRACE_INCLUDE_PATH ../../../../vendor/qcom/opensource/dataipa/drivers/platform/msm/ipa/ipa_clients
+#define RNDIS_TRACE_INCLUDE_PATH ../../../../vendor/qcom/opensource/dataipa/drivers/platform/msm/ipa/ipa_clients
 #else
-#define TRACE_INCLUDE_PATH ../../techpack/dataipa/drivers/platform/msm/ipa/ipa_clients
+#define RNDIS_TRACE_INCLUDE_PATH ../../techpack/dataipa/drivers/platform/msm/ipa/ipa_clients
 #endif
+#endif
+
+#define TRACE_INCLUDE_PATH RNDIS_TRACE_INCLUDE_PATH
 #include <trace/define_trace.h>

+ 7 - 4
drivers/platform/msm/ipa/ipa_v3/ipa_trace.h

@@ -1,7 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Copyright (c) 2012-2021, The Linux Foundation. All rights reserved.
- * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #undef TRACE_SYSTEM
@@ -392,10 +392,13 @@ TRACE_EVENT(
 #endif /* _IPA_TRACE_H */
 
 /* This part must be outside protection */
-#undef TRACE_INCLUDE_PATH
+#ifndef IPA_TRACE_INCLUDE_PATH
 #ifdef CONFIG_IPA_VENDOR_DLKM
-#define TRACE_INCLUDE_PATH ../../../../vendor/qcom/opensource/dataipa/drivers/platform/msm/ipa/ipa_v3
+#define IPA_TRACE_INCLUDE_PATH ../../../../vendor/qcom/opensource/dataipa/drivers/platform/msm/ipa/ipa_v3
 #else
-#define TRACE_INCLUDE_PATH ../../techpack/dataipa/drivers/platform/msm/ipa/ipa_v3
+#define IPA_TRACE_INCLUDE_PATH ../../techpack/dataipa/drivers/platform/msm/ipa/ipa_v3
 #endif
+#endif
+
+#define TRACE_INCLUDE_PATH IPA_TRACE_INCLUDE_PATH
 #include <trace/define_trace.h>