diff --git a/configs/default_defconfig b/configs/default_defconfig index e440eb1c90f7..2f8b05dd71cb 100644 --- a/configs/default_defconfig +++ b/configs/default_defconfig @@ -760,7 +760,10 @@ CONFIG_ATH_PCIE_ACCESS_DEBUG := n ifeq ($(CONFIG_IPA), y) CONFIG_IPA_OFFLOAD := y endif -ifeq ($(CONFIG_IPA3), y) +ifeq ($(CONFIG_IPA3), m) +CONFIG_IPA3_MODULE := y +endif +ifeq (y, $(findstring y, $(CONFIG_IPA3) $(CONFIG_IPA3_MODULE))) CONFIG_IPA_OFFLOAD := y endif diff --git a/configs/genoa.pci.debug_defconfig b/configs/genoa.pci.debug_defconfig index a75b7479518f..8b5c72c185f3 100644 --- a/configs/genoa.pci.debug_defconfig +++ b/configs/genoa.pci.debug_defconfig @@ -27,7 +27,10 @@ CONFIG_IPA_OFFLOAD := y else CONFIG_IPA_DISABLE_OVERRIDE=y endif -ifeq ($(CONFIG_IPA3), y) +ifeq ($(CONFIG_IPA3), m) +CONFIG_IPA3_MODULE := y +endif +ifeq (y, $(findstring y, $(CONFIG_IPA3) $(CONFIG_IPA3_MODULE))) CONFIG_IPA_OFFLOAD := y else CONFIG_IPA_DISABLE_OVERRIDE=y diff --git a/configs/genoa.pci.perf_defconfig b/configs/genoa.pci.perf_defconfig index 66e1127060c5..4afd8225c177 100644 --- a/configs/genoa.pci.perf_defconfig +++ b/configs/genoa.pci.perf_defconfig @@ -24,7 +24,10 @@ CONFIG_DATA_CE_SW_INDEX_NO_INLINE_UPDATE := n ifeq ($(CONFIG_IPA), y) CONFIG_IPA_OFFLOAD := y endif -ifeq ($(CONFIG_IPA3), y) +ifeq ($(CONFIG_IPA3), m) +CONFIG_IPA3_MODULE := y +endif +ifeq (y, $(findstring y, $(CONFIG_IPA3) $(CONFIG_IPA3_MODULE))) CONFIG_IPA_OFFLOAD := y endif diff --git a/configs/genoa.snoc.debug_defconfig b/configs/genoa.snoc.debug_defconfig index 00193403998c..09d3fa7e5f1e 100644 --- a/configs/genoa.snoc.debug_defconfig +++ b/configs/genoa.snoc.debug_defconfig @@ -36,7 +36,10 @@ endif ifeq ($(CONFIG_IPA), y) CONFIG_IPA_OFFLOAD := y endif -ifeq ($(CONFIG_IPA3), y) +ifeq ($(CONFIG_IPA3), m) +CONFIG_IPA3_MODULE := y +endif +ifeq (y, $(findstring y, $(CONFIG_IPA3) $(CONFIG_IPA3_MODULE))) CONFIG_IPA_OFFLOAD := y endif diff --git a/configs/genoa.snoc.perf_defconfig b/configs/genoa.snoc.perf_defconfig index 800c77405dff..64032e4c95ba 100644 --- a/configs/genoa.snoc.perf_defconfig +++ b/configs/genoa.snoc.perf_defconfig @@ -36,7 +36,10 @@ endif ifeq ($(CONFIG_IPA), y) CONFIG_IPA_OFFLOAD := y endif -ifeq ($(CONFIG_IPA3), y) +ifeq ($(CONFIG_IPA3), m) +CONFIG_IPA3_MODULE := y +endif +ifeq (y, $(findstring y, $(CONFIG_IPA3) $(CONFIG_IPA3_MODULE))) CONFIG_IPA_OFFLOAD := y endif diff --git a/configs/qca6174_defconfig b/configs/qca6174_defconfig index a60c095633d1..ee35c0ec85f5 100644 --- a/configs/qca6174_defconfig +++ b/configs/qca6174_defconfig @@ -490,7 +490,10 @@ CONFIG_ATH_PCIE_ACCESS_DEBUG := n ifeq ($(CONFIG_IPA), y) CONFIG_IPA_OFFLOAD := y endif -ifeq ($(CONFIG_IPA3), y) +ifeq ($(CONFIG_IPA3), m) +CONFIG_IPA3_MODULE := y +endif +ifeq (y, $(findstring y, $(CONFIG_IPA3) $(CONFIG_IPA3_MODULE))) CONFIG_IPA_OFFLOAD := y endif diff --git a/configs/qca6390_defconfig b/configs/qca6390_defconfig index a02bbd6d83d5..3ee4d11cbbc2 100644 --- a/configs/qca6390_defconfig +++ b/configs/qca6390_defconfig @@ -527,7 +527,10 @@ CONFIG_ATH_PCIE_ACCESS_DEBUG := n ifeq ($(CONFIG_IPA), y) CONFIG_IPA_OFFLOAD := y endif -ifeq ($(CONFIG_IPA3), y) +ifeq ($(CONFIG_IPA3), m) +CONFIG_IPA3_MODULE := y +endif +ifeq (y, $(findstring y, $(CONFIG_IPA3) $(CONFIG_IPA3_MODULE))) CONFIG_IPA_OFFLOAD := y endif diff --git a/configs/qcs40x.snoc.perf_defconfig b/configs/qcs40x.snoc.perf_defconfig index 1a3bd0e58400..a5891adbc3ff 100644 --- a/configs/qcs40x.snoc.perf_defconfig +++ b/configs/qcs40x.snoc.perf_defconfig @@ -77,7 +77,10 @@ endif ifeq ($(CONFIG_IPA), y) CONFIG_IPA_OFFLOAD := y endif -ifeq ($(CONFIG_IPA3), y) +ifeq ($(CONFIG_IPA3), m) +CONFIG_IPA3_MODULE := y +endif +ifeq (y, $(findstring y, $(CONFIG_IPA3) $(CONFIG_IPA3_MODULE))) CONFIG_IPA_OFFLOAD := y endif diff --git a/core/dp/txrx/ol_txrx_ipa.c b/core/dp/txrx/ol_txrx_ipa.c index f17aa431d63c..9cef7ae6b412 100644 --- a/core/dp/txrx/ol_txrx_ipa.c +++ b/core/dp/txrx/ol_txrx_ipa.c @@ -143,7 +143,7 @@ QDF_STATUS ol_txrx_ipa_uc_get_resource(struct cdp_soc_t *soc_hdl, &ipa_res->tx_comp_ring->mem_info)) || (0 == qdf_mem_get_dma_addr(osdev, &ipa_res->rx_rdy_ring->mem_info)) -#if defined(QCA_WIFI_3_0) && defined(CONFIG_IPA3) +#if defined(QCA_WIFI_3_0) && IS_ENABLED(CONFIG_IPA3) || (0 == qdf_mem_get_dma_addr(osdev, &ipa_res->rx2_rdy_ring->mem_info)) #endif diff --git a/core/dp/txrx/ol_txrx_ipa.h b/core/dp/txrx/ol_txrx_ipa.h index d1278d43b82c..7d1249fc2a37 100644 --- a/core/dp/txrx/ol_txrx_ipa.h +++ b/core/dp/txrx/ol_txrx_ipa.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. + * Copyright (c) 2017-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 above @@ -92,7 +92,7 @@ struct ol_txrx_ipa_uc_rx_hdr { #define OL_TXRX_IPA_UC_WLAN_HDR_DES_MAC_OFFSET \ (OL_TXRX_IPA_WLAN_FRAG_HEADER + OL_TXRX_IPA_WLAN_IPA_HEADER) -#if defined(QCA_WIFI_3_0) && defined(CONFIG_IPA3) +#if defined(QCA_WIFI_3_0) && IS_ENABLED(CONFIG_IPA3) #define OL_TXRX_IPA_WDI2_SET(pipe_in, ipa_res, osdev) \ do { \ QDF_IPA_PIPE_IN_UL_RDY_RING_RP_VA(pipe_in) = \