Browse Source

msm: ipa: enable ipa driver for pineapple

Make changes to enable IPA driver for pineapple. Fixed
compilation errors related to kernel upgrade.

Change-Id: Iecbe152fe0b6860616a9a63504d57b92a70ef72e
Signed-off-by: Michael Adisumarta <[email protected]>
Michael Adisumarta 2 years ago
parent
commit
2391721863

+ 1 - 0
config/dataipa_GKI.conf

@@ -5,3 +5,4 @@ export CONFIG_RMNET_IPA3=y
 export CONFIG_RNDIS_IPA=m
 export CONFIG_IPA3_REGDUMP=y
 export CONFIG_IPA3_REGDUMP_IPA_5_5=y
+export CONFIG_IPA_KERNEL_TESTS_MODULE=m

+ 1 - 0
config/dataipa_vendor.h

@@ -11,3 +11,4 @@
 #define CONFIG_IPA_VENDOR_DLKM 1
 #define CONFIG_IPA3_REGDUMP 1
 #define CONFIG_IPA3_REGDUMP_IPA_5_5 1
+#define CONFIG_IPA_KERNEL_TESTS_MODULE 1

+ 1 - 1
dataipa_dlkm_vendor_board.mk

@@ -9,7 +9,7 @@ else
 endif
 
 ifeq ($(TARGET_DATAIPA_DLKM_ENABLE), true)
-DATA_DLKM_BOARD_PLATFORMS_LIST := taro kalama bengal monaco
+DATA_DLKM_BOARD_PLATFORMS_LIST := taro kalama bengal monaco pineapple
 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

+ 2 - 1
drivers/platform/msm/Android.mk

@@ -1,5 +1,6 @@
 ifneq ($(TARGET_BOARD_PLATFORM),qssi)
-GSI_DLKM_PLATFORMS_LIST := taro kalama bengal monaco
+
+GSI_DLKM_PLATFORMS_LIST := taro kalama bengal monaco pineapple
 
 ifeq ($(call is-board-platform-in-list, $(GSI_DLKM_PLATFORMS_LIST)),true)
 #Make file to create GSI DLKM

+ 1 - 11
drivers/platform/msm/Kbuild

@@ -16,17 +16,7 @@ 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_GKI_consolidate.conf
-LINUXINCLUDE    += -include $(srctree)/../../vendor/qcom/opensource/dataipa/config/dataipa_debug.h
-endif
-endif
-
-ifeq ($(CONFIG_ARCH_KALAMA), y)
+ifeq ($(filter $(CONFIG_ARCH_WAIPIO) $(CONFIG_ARCH_KALAMA) $(CONFIG_ARCH_PINEAPPLE), y),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

+ 14 - 2
drivers/platform/msm/gsi/gsi.c

@@ -1339,7 +1339,11 @@ static void __gsi_msi_write_msg(struct msi_desc *desc, struct msi_msg *msg)
 	if (IS_ERR_OR_NULL(desc) || IS_ERR_OR_NULL(msg) || IS_ERR_OR_NULL(gsi_ctx))
 		BUG();
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0))
+	msi = desc->msi_index;
+#else
 	msi = desc->platform.msi_index;
+#endif
 
 	/* MSI should be valid and unallocated */
 	if ((msi >= gsi_ctx->msi.num) || (test_bit(msi, gsi_ctx->msi.allocated)))
@@ -1411,6 +1415,12 @@ static int __gsi_allocate_msis(void)
 	/* Loop through the allocated MSIs and save the info, then
 	 * request the IRQ.
 	 */
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0))
+	for (unsigned long msi = 0; msi < gsi_ctx->msi.num; msi++) {
+		/* Save IRQ */
+		gsi_ctx->msi.irq[msi] = msi_get_virq(gsi_ctx->dev, msi);
+		GSIDBG("desc->irq =%d\n", desc->irq);
+#else
 	for_each_msi_entry(desc, gsi_ctx->dev) {
 		unsigned long msi = desc->platform.msi_index;
 
@@ -1424,7 +1434,7 @@ static int __gsi_allocate_msis(void)
 		/* Save IRQ */
 		gsi_ctx->msi.irq[msi] = desc->irq;
 		GSIDBG("desc->irq =%d\n", desc->irq);
-
+#endif
 		/* Request the IRQ */
 		if (__gsi_request_msi_irq(msi)) {
 			GSIERR("error requesting IRQ for MSI %lu\n",
@@ -5880,7 +5890,9 @@ static int msm_gsi_probe(struct platform_device *pdev)
 		GSIERR("No MSIs configured\n");
 	else {
 		if (gsi_ctx->msi.num > GSI_MAX_NUM_MSI) {
-			GSIERR("Num MSIs %u larger than max %u, normalizing\n");
+			GSIERR("Num MSIs %u larger than max %u, normalizing\n",
+				gsi_ctx->msi.num,
+				GSI_MAX_NUM_MSI);
 			gsi_ctx->msi.num = GSI_MAX_NUM_MSI;
 		} else GSIDBG("Num MSIs=%u\n", gsi_ctx->msi.num);
 	}

+ 1 - 1
drivers/platform/msm/gsi/gsihal/gsihal.c

@@ -19,7 +19,7 @@ int gsihal_init(enum gsi_ver gsi_ver, void __iomem *base)
 		GSIDBG("gsihal already initialized\n");
 		if (base != gsihal_ctx->base) {
 			GSIERR(
-				"base address of early init is differnet (%pK - %pK)\n"
+				"base address of early init is differnet.\n"
 			);
 			WARN_ON(1);
 		}

+ 2 - 2
drivers/platform/msm/gsi/gsihal/gsihal_reg.c

@@ -2309,7 +2309,7 @@ EXPORT_SYMBOL(gsihal_get_reg_nk_ofst);
 *	array size according to the
 *	GSI version.
 */
-u32 gsihal_get_bit_map_array_size()
+u32 gsihal_get_bit_map_array_size(void)
 {
 	return GSI_CH_BIT_MAP_ARR_SIZE;
 }
@@ -2517,7 +2517,7 @@ bool gsihal_check_ring_length_valid(u32 r_len, u32 elem_size)
 /*
  * Get mask for GP_int1
  */
-u32 gsihal_get_glob_irq_en_gp_int1_mask()
+u32 gsihal_get_glob_irq_en_gp_int1_mask(void)
 {
 	return GSI_EE_n_CNTXT_GLOB_IRQ_EN_GP_INT1_BMSK;
 }

+ 4 - 0
drivers/platform/msm/ipa/ipa_clients/ecm_ipa.c

@@ -330,7 +330,11 @@ int ecm_ipa_init(struct ecm_ipa_params *params)
 		ecm_ipa_ctx->netif_rx_function = netif_receive_skb;
 		ECM_IPA_DEBUG("LAN RX NAPI enabled = True");
 	} else {
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0))
 		ecm_ipa_ctx->netif_rx_function = netif_rx_ni;
+#else
+                ecm_ipa_ctx->netif_rx_function = netif_rx;
+#endif
 		ECM_IPA_DEBUG("LAN RX NAPI enabled = False");
 	}
 	ECM_IPA_DEBUG("internal data structures were initialized\n");

+ 0 - 2
drivers/platform/msm/ipa/ipa_clients/ipa_eth.c

@@ -431,7 +431,6 @@ static enum ipa_client_type
 	return ipa_client_type;
 }
 
-#if  IPA_ETH_API_VER < 2
 static struct ipa_eth_client_pipe_info
 	*ipa_eth_get_pipe_from_hdl(ipa_eth_hdl_t hdl)
 {
@@ -443,7 +442,6 @@ static struct ipa_eth_client_pipe_info
 
 	return pipe;
 }
-#endif
 
 
 static int ipa_eth_client_connect_pipe(

+ 4 - 0
drivers/platform/msm/ipa/ipa_clients/ipa_usb.c

@@ -1003,7 +1003,9 @@ static bool ipa3_usb_check_chan_params(struct ipa_usb_xdci_chan_params *params)
 	}
 	switch (params->teth_prot) {
 	case IPA_USB_DIAG:
+		fallthrough;
 	case IPA_USB_RNDIS:
+		fallthrough;
 	case IPA_USB_ECM:
 		if (ipa3_usb_ctx->teth_prot_ctx[params->teth_prot].state ==
 			IPA_USB_TETH_PROT_INVALID) {
@@ -1014,7 +1016,9 @@ static bool ipa3_usb_check_chan_params(struct ipa_usb_xdci_chan_params *params)
 		}
 		break;
 	case IPA_USB_RMNET:
+		fallthrough;
 	case IPA_USB_RMNET_CV2X:
+		fallthrough;
 	case IPA_USB_MBIM:
 		if (ipa3_usb_ctx->teth_prot_ctx[params->teth_prot].state ==
 			IPA_USB_TETH_PROT_INVALID) {

+ 6 - 2
drivers/platform/msm/ipa/ipa_clients/rndis_ipa.c

@@ -229,7 +229,7 @@ struct rndis_ipa_dev {
 	u32 outstanding_low;
 	u32 error_msec_sleep_time;
 	enum rndis_ipa_state state;
-	u8 host_ethaddr[ETH_ALEN];
+	u8  host_ethaddr[ETH_ALEN];
 	u8 device_ethaddr[ETH_ALEN];
 	void (*device_ready_notify)(void);
 	struct delayed_work xmit_error_delayed_work;
@@ -641,7 +641,7 @@ int rndis_ipa_init(struct ipa_usb_init_params *params)
 	rndis_ipa_debugfs_init(rndis_ipa_ctx);
 
 	result = rndis_ipa_set_device_ethernet_addr
-		(net->dev_addr, rndis_ipa_ctx->device_ethaddr);
+		((u8 *)net->dev_addr, rndis_ipa_ctx->device_ethaddr);
 	if (result) {
 		RNDIS_IPA_ERROR("set device MAC failed\n");
 		goto fail_set_device_ethernet;
@@ -708,7 +708,11 @@ int rndis_ipa_init(struct ipa_usb_init_params *params)
 		rndis_ipa_ctx->netif_rx_function = netif_receive_skb;
 		RNDIS_IPA_DEBUG("LAN RX NAPI enabled = True");
 	} else {
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0))
 		rndis_ipa_ctx->netif_rx_function = netif_rx_ni;
+#else
+		rndis_ipa_ctx->netif_rx_function = netif_rx;
+#endif
 		RNDIS_IPA_DEBUG("LAN RX NAPI enabled = False");
 	}
 

+ 1 - 1
drivers/platform/msm/ipa/ipa_test_module/ipa_test_module.h

@@ -7,7 +7,7 @@
 #ifndef _IPA_TEST_MODULE_H_
 #define _IPA_TEST_MODULE_H_
 
-#include <stddef.h>
+#include <linux/stddef.h>
 #include <linux/msm_ipa.h>
 #include <linux/ioctl.h>
 #ifdef _KERNEL_

+ 0 - 6
drivers/platform/msm/ipa/ipa_test_module/ipa_test_module_impl.c

@@ -87,7 +87,6 @@
 #define EXCEPTION_KFIFO_SIZE (8)
 #define EXCEPTION_KFIFO_SLEEP_MS (EXCEPTION_KFIFO_SLEEP_MS)
 #define EXCEPTION_KFIFO_DEBUG_VERBOSE 1
-#define SAVE_HEADER 1
 
 #define IPATEST_DBG(fmt, args...) \
 	do { \
@@ -2625,13 +2624,8 @@ void notify_upon_exception(void *priv,
 		return;
 	}
 
-#if (SAVE_HEADER)
-	data_len = p_sk_buff->len + 8; /* store len */
-	p_data = (p_sk_buff->data) - 8; /* store pointer to the data */
-#else
 	data_len = p_sk_buff->len; /* store len */
 	p_data = p_sk_buff->data; /* store pointer to the data */
-#endif
 
 #if (EXCEPTION_KFIFO_DEBUG_VERBOSE)
 		IPATEST_DBG("Exception packet length = %zu,Packet content:\n",

+ 23 - 7
drivers/platform/msm/ipa/ipa_v3/ipa.c

@@ -523,7 +523,7 @@ static int ipa_pm_notify(struct notifier_block *b, unsigned long event, void *p)
 	switch (event) {
 		case PM_POST_SUSPEND:
 #ifdef CONFIG_DEEPSLEEP
-			if (pm_suspend_via_firmware() && ipa3_ctx->deepsleep) {
+			if (mem_sleep_current == PM_SUSPEND_MEM && ipa3_ctx->deepsleep) {
 				IPADBG("Enter deepsleep resume\n");
 				ipa3_deepsleep_resume();
 				IPADBG("Exit deepsleep resume\n");
@@ -995,7 +995,6 @@ struct ipa_smmu_cb_ctx *ipa3_get_smmu_ctx(enum ipa_smmu_cb_type cb_type)
 {
 	return &smmu_cb[cb_type];
 }
-EXPORT_SYMBOL(ipa3_get_smmu_ctx);
 
 static int ipa3_open(struct inode *inode, struct file *filp)
 {
@@ -8464,13 +8463,13 @@ static int ipa3_pil_load_ipa_fws(const char *sub_sys)
 
 	IPADBG("PIL FW loading process initiated sub_sys=%s\n",
 		sub_sys);
-
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 14, 0))
 	ipa3_ctx->subsystem_get_retval = subsystem_get(sub_sys);
 	if (IS_ERR_OR_NULL(ipa3_ctx->subsystem_get_retval)) {
 		IPAERR("Unable to PIL load FW for sub_sys=%s\n", sub_sys);
 		return -EINVAL;
 	}
-
+#endif
 	IPADBG("PIL FW loading process is complete sub_sys=%s\n", sub_sys);
 	return 0;
 }
@@ -10185,7 +10184,7 @@ static void ipa_dts_get_ulso_data(struct platform_device *pdev,
 static int get_ipa_dts_configuration(struct platform_device *pdev,
 		struct ipa3_plat_drv_res *ipa_drv_res)
 {
-	int i, result, pos;
+	int i, result, pos, irq = 0;
 	struct resource *resource;
 	u32 *ipa_tz_unlock_reg;
 	int elem_num;
@@ -10596,6 +10595,7 @@ static int get_ipa_dts_configuration(struct platform_device *pdev,
 			ipa_drv_res->transport_mem_size);
 
 	/* Get IPA GSI IRQ number */
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0))
 	resource = platform_get_resource_byname(pdev, IORESOURCE_IRQ,
 			"gsi-irq");
 	if (!resource) {
@@ -10603,6 +10603,14 @@ static int get_ipa_dts_configuration(struct platform_device *pdev,
 		return -ENODEV;
 	}
 	ipa_drv_res->transport_irq = resource->start;
+#else
+	irq = platform_get_irq_byname(pdev, "gsi-irq");
+	if (irq < 0) {
+		IPAERR(":get resource failed for gsi-irq\n");
+		return -ENODEV;
+	}
+	ipa_drv_res->transport_irq = irq;
+#endif
 	IPADBG(": gsi-irq = %d\n", ipa_drv_res->transport_irq);
 
 	/* Get IPA pipe mem start ofst */
@@ -10619,6 +10627,7 @@ static int get_ipa_dts_configuration(struct platform_device *pdev,
 	}
 
 	/* Get IPA IRQ number */
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0))
 	resource = platform_get_resource_byname(pdev, IORESOURCE_IRQ,
 			"ipa-irq");
 	if (!resource) {
@@ -10626,6 +10635,14 @@ static int get_ipa_dts_configuration(struct platform_device *pdev,
 		return -ENODEV;
 	}
 	ipa_drv_res->ipa_irq = resource->start;
+#else
+	irq = platform_get_irq_byname(pdev, "ipa-irq");
+	if (irq < 0) {
+		IPAERR(":get resource failed for ipa-irq\n");
+		return -ENODEV;
+	}
+	ipa_drv_res->ipa_irq = irq;
+#endif
 	IPADBG(":ipa-irq = %d\n", ipa_drv_res->ipa_irq);
 
 	result = of_property_read_u32(pdev->dev.of_node, "qcom,ee",
@@ -11796,7 +11813,7 @@ int ipa3_ap_suspend(struct device *dev)
 	}
 
 #ifdef CONFIG_DEEPSLEEP
-	if (pm_suspend_via_firmware()) {
+	if (mem_sleep_current == PM_SUSPEND_MEM) {
 		IPADBG("Enter deepsleep suspend\n");
 		ipa3_deepsleep_suspend();
 		IPADBG("Exit deepsleep suspend\n");
@@ -11992,7 +12009,6 @@ int ipa3_iommu_map(struct iommu_domain *domain,
 
 	return iommu_map(domain, iova, paddr, size, prot);
 }
-EXPORT_SYMBOL(ipa3_iommu_map);
 
 /**
  * ipa_get_smmu_params()- Return the ipa3 smmu related params.

+ 4 - 0
drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c

@@ -4043,11 +4043,14 @@ static ssize_t ipa3_eth_read_err_status(struct file *file,
 
 	switch (client->client_type) {
 	case IPA_ETH_CLIENT_AQC107:
+		fallthrough;
 	case IPA_ETH_CLIENT_AQC113:
 		tx_ep = IPA_CLIENT_AQC_ETHERNET_CONS;
 		rx_ep = IPA_CLIENT_AQC_ETHERNET_PROD;
 		scratch_num = 7;
+		fallthrough;
 	case IPA_ETH_CLIENT_RTK8111K:
+		fallthrough;
 	case IPA_ETH_CLIENT_RTK8125B:
 		tx_ep = IPA_CLIENT_RTK_ETHERNET_CONS;
 		rx_ep = IPA_CLIENT_RTK_ETHERNET_PROD;
@@ -4073,6 +4076,7 @@ static ssize_t ipa3_eth_read_err_status(struct file *file,
 		__ipa_ntn3_client_stats_read(&cnt, &ntn3_stats, str_client_tx, str_client_rx);
 		goto done;
 #endif
+		fallthrough;
 	default:
 		IPAERR("Not supported\n");
 		return 0;

+ 8 - 0
drivers/platform/msm/ipa/ipa_v3/ipa_pm.c

@@ -952,9 +952,12 @@ static int ipa_pm_activate_helper(struct ipa_pm_client *client, bool sync)
 
 	switch (client->state) {
 	case IPA_PM_ACTIVATED_PENDING_RESCHEDULE:
+		fallthrough;
 	case IPA_PM_ACTIVATED_PENDING_DEACTIVATION:
 		client->state = IPA_PM_ACTIVATED_TIMER_SET;
+		fallthrough;
 	case IPA_PM_ACTIVATED:
+		fallthrough;
 	case IPA_PM_ACTIVATED_TIMER_SET:
 		spin_unlock_irqrestore(&client->state_lock, flags);
 		return 0;
@@ -1080,6 +1083,7 @@ int ipa_pm_deferred_deactivate(u32 hdl)
 	switch (client->state) {
 	case IPA_PM_ACTIVATE_IN_PROGRESS:
 		client->state = IPA_PM_DEACTIVATE_IN_PROGRESS;
+		fallthrough;
 	case IPA_PM_DEACTIVATED:
 		IPA_PM_DBG_STATE(hdl, client->name, client->state);
 		spin_unlock_irqrestore(&client->state_lock, flags);
@@ -1095,12 +1099,16 @@ int ipa_pm_deferred_deactivate(u32 hdl)
 			msecs_to_jiffies(delay));
 		break;
 	case IPA_PM_ACTIVATED_TIMER_SET:
+		fallthrough;
 	case IPA_PM_ACTIVATED_PENDING_DEACTIVATION:
 		client->state = IPA_PM_ACTIVATED_PENDING_RESCHEDULE;
+		fallthrough;
 	case IPA_PM_DEACTIVATE_IN_PROGRESS:
+		fallthrough;
 	case IPA_PM_ACTIVATED_PENDING_RESCHEDULE:
 		break;
 	case IPA_PM_STATE_MAX:
+		fallthrough;
 	default:
 		IPA_PM_ERR("Bad State");
 		spin_unlock_irqrestore(&client->state_lock, flags);

+ 2 - 2
drivers/platform/msm/ipa/ipa_v3/ipa_stats.c

@@ -926,7 +926,7 @@ static int ipa_get_eth_inst_stats(unsigned long arg)
 						IPA_CLIENT_AQC_ETHERNET_CONS;
 #if IPA_ETH_API_VER >= 2
 				/* Get the client pipe info[0] from the allocation info context only if it is NTN3 */
-				if (instance_ptr->eth_mode == IPA_ETH_CLIENT_NTN3) {
+				if ((instance_ptr->eth_mode == IPA_ETH_CLIENT_NTN3)) {
 						tx_instance_ptr_local->tx_client =
 							ipa_lnx_agent_ctx.alloc_info.eth_inst_info[
 							i].pipes_client_type[0];
@@ -1025,7 +1025,7 @@ static int ipa_get_eth_inst_stats(unsigned long arg)
 						IPA_CLIENT_AQC_ETHERNET_PROD;
 #if IPA_ETH_API_VER >= 2
 				/* Get the client pipe info[1] from the allocation info context only if it is NTN3 */
-				if (instance_ptr->eth_mode == IPA_ETH_CLIENT_NTN3) {
+				if ((instance_ptr->eth_mode == IPA_ETH_CLIENT_NTN3)) {
 						rx_instance_ptr_local->rx_client =
 							ipa_lnx_agent_ctx.alloc_info.eth_inst_info[
 							i].pipes_client_type[1];

+ 18 - 11
drivers/platform/msm/ipa/ipa_v3/ipa_utils.c

@@ -4186,7 +4186,7 @@ static const struct ipa_ep_configuration ipa3_ep_mapping
 			IPA_TX_INSTANCE_NA },
 	[IPA_5_0][IPA_CLIENT_WLAN3_PROD] = {
 			true,   IPA_v5_0_GROUP_UL,
-			true,
+			false,
 			IPA_DPS_HPS_SEQ_TYPE_2ND_PKT_PROCESS_PASS_NO_DEC_UCP,
 			QMB_MASTER_SELECT_DDR,
 			{ 1 , 0, 8, 16, IPA_EE_AP, GSI_SMART_PRE_FETCH, 2},
@@ -5368,11 +5368,11 @@ static const struct ipa_ep_configuration ipa3_ep_mapping
 
 	/*For test purposes only*/
 	[IPA_5_5][IPA_CLIENT_TEST_PROD] = {
-			true, IPA_v5_5_GROUP_UL,
+			true, IPA_v5_5_GROUP_URLLC,
 			true,
-			IPA_DPS_HPS_SEQ_TYPE_PKT_PROCESS_NO_DEC_NO_UCP,
+			IPA_DPS_HPS_SEQ_TYPE_2ND_PKT_PROCESS_PASS_NO_DEC_UCP,
 			QMB_MASTER_SELECT_DDR,
-			{ 0, 15, 8, 16, IPA_EE_AP, GSI_SMART_PRE_FETCH, 3 },
+			{ 4, 9, 8, 16, IPA_EE_AP, GSI_SMART_PRE_FETCH, 3 },
 			IPA_TX_INSTANCE_NA },
 
 	[IPA_5_5][IPA_CLIENT_TEST1_PROD] = {
@@ -6688,8 +6688,13 @@ const char *ipa_get_version_string(enum ipa_hw_type ver)
 		break;
 	case IPA_HW_v5_1:
 		str = "5.1";
+		fallthrough;
+	case IPA_HW_v5_2:
+		str = "5.2";
+		fallthrough;
 	case IPA_HW_v5_5:
 		str = "5.5";
+		fallthrough;
 	default:
 		str = "Invalid version";
 		break;
@@ -9365,13 +9370,11 @@ int ipa3_write_qmap_id(struct ipa_ioc_write_qmapid *param_in)
 		param_in->client == IPA_CLIENT_RTK_ETHERNET_PROD) {
 		result = ipa3_cfg_ep_metadata(ipa_ep_idx, &meta);
 	} else if (param_in->client == IPA_CLIENT_WLAN1_PROD ||
-			   param_in->client == IPA_CLIENT_WLAN2_PROD ||
-				param_in->client == IPA_CLIENT_WLAN3_PROD) {
+			   param_in->client == IPA_CLIENT_WLAN2_PROD) {
 		ipa3_ctx->ep[ipa_ep_idx].cfg.meta = meta;
-		if (param_in->client == IPA_CLIENT_WLAN2_PROD ||
-			param_in->client == IPA_CLIENT_WLAN3_PROD)
-				result = ipa3_write_qmapid_wdi3_gsi_pipe(
-					ipa_ep_idx, meta.qmap_id);
+		if (param_in->client == IPA_CLIENT_WLAN2_PROD)
+			result = ipa3_write_qmapid_wdi3_gsi_pipe(
+				ipa_ep_idx, meta.qmap_id);
 		else
 			result = ipa3_write_qmapid_wdi_pipe(
 				ipa_ep_idx, meta.qmap_id);
@@ -11074,12 +11077,14 @@ static void ipa3_write_rsrc_grp_type_reg(int group_index,
 		if (src) {
 			switch (group_index) {
 			case IPA_v4_0_GROUP_LWA_DL:
+				fallthrough;
 			case IPA_v4_0_GROUP_UL_DL:
 				ipahal_write_reg_n_fields(
 					IPA_SRC_RSRC_GRP_01_RSRC_TYPE_n,
 					n, val);
 				break;
 			case IPA_v4_0_MHI_GROUP_DMA:
+				fallthrough;
 			case IPA_v4_0_GROUP_UC_RX_Q:
 				ipahal_write_reg_n_fields(
 					IPA_SRC_RSRC_GRP_23_RSRC_TYPE_n,
@@ -11094,6 +11099,7 @@ static void ipa3_write_rsrc_grp_type_reg(int group_index,
 		} else {
 			switch (group_index) {
 			case IPA_v4_0_GROUP_LWA_DL:
+				fallthrough;
 			case IPA_v4_0_GROUP_UL_DL:
 				ipahal_write_reg_n_fields(
 					IPA_DST_RSRC_GRP_01_RSRC_TYPE_n,
@@ -11238,7 +11244,7 @@ static void ipa3_write_rsrc_grp_type_reg(int group_index,
 				break;
 			case IPA_v4_9_GROUP_UC_RX:
 				ipahal_write_reg_n_fields(
-					IPA_DST_RSRC_GRP_23_RSRC_TYPE_n,
+					IPA_SRC_RSRC_GRP_23_RSRC_TYPE_n,
 					n, val);
 				break;
 			default:
@@ -13321,6 +13327,7 @@ void ipa3_eth_get_status(u32 client, int scratch_id,
 	case IPA_CLIENT_RTK_ETHERNET_PROD:
 		stats->err = gsi_get_drop_stats(ipa_ep_idx, RTK_GSI_SCRATCH_ID,
 			ch_id);
+		fallthrough;
 	case IPA_CLIENT_RTK_ETHERNET_CONS:
 		stats->wp = gsi_get_refetch_reg(ch_id, false);
 		stats->rp = gsi_get_refetch_reg(ch_id, true);

+ 1 - 1
drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal.c

@@ -2758,7 +2758,7 @@ static int ipahal_qmap_init(
 
 	memset(&zero_obj, 0, sizeof(zero_obj));
 
-	for (i = IPA_HW_v4_5; i < ipa_hw_type; i++) {
+	for (i = IPA_HW_v4_5; i < (IPA_HW_MAX - 1); i++) {
 
 		if (memcmp(&ipahal_qmap_parse_tbl[i+1],
 				   &zero_obj,

+ 21 - 17
drivers/platform/msm/ipa/ipa_v3/rmnet_ipa.c

@@ -129,6 +129,8 @@ struct ipa3_rmnet_plat_drv_res {
 	u32 wan_rx_desc_size;
 };
 
+
+
 /**
  * struct ipa3_wwan_private - WWAN private data
  * @net: network interface struct implemented by this driver
@@ -1631,7 +1633,7 @@ static void apps_ipa_packet_receive_notify(void *priv,
 
 	if (evt == IPA_RECEIVE) {
 		struct sk_buff *skb = (struct sk_buff *)data;
-		int result;
+		int result = 0;
 		unsigned int packet_len = skb->len;
 
 		IPAWANDBG_LOW("Rx packet was received");
@@ -1647,9 +1649,11 @@ static void apps_ipa_packet_receive_notify(void *priv,
 		} else {
 			if (dev->stats.rx_packets % IPA_WWAN_RX_SOFTIRQ_THRESH
 					== 0) {
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0))
 				trace_rmnet_ipa_netifni3(dev->stats.rx_packets);
 				result = netif_rx_ni(skb);
 			} else {
+#endif
 				trace_rmnet_ipa_netifrx3(dev->stats.rx_packets);
 				result = netif_rx(skb);
 			}
@@ -3752,7 +3756,7 @@ static int ipa3_wwan_remove(struct platform_device *pdev)
 	mutex_unlock(&rmnet_ipa3_ctx->pipe_handle_guard);
 	/* Clean up netdev resources in BEFORE_SHUTDOWN for non remoteproc
 	 * targets. */
-#if !IS_ENABLED(CONFIG_QCOM_Q6V5_PAS)
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 14, 0))
 	IPAWANINFO("rmnet_ipa unregister_netdev\n");
 	if (IPA_NETDEV())
 		unregister_netdev(IPA_NETDEV());
@@ -3760,7 +3764,7 @@ static int ipa3_wwan_remove(struct platform_device *pdev)
 #endif
 	cancel_work_sync(&ipa3_tx_wakequeue_work);
 	cancel_delayed_work(&ipa_tether_stats_poll_wakequeue_work);
-#if !IS_ENABLED(CONFIG_QCOM_Q6V5_PAS)
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 14, 0))
 	if (IPA_NETDEV())
 		free_netdev(IPA_NETDEV());
 	rmnet_ipa3_ctx->wwan_priv = NULL;
@@ -3952,7 +3956,7 @@ static int ipa3_lcl_mdm_ssr_notifier_cb(struct notifier_block *this,
 #if IS_ENABLED(CONFIG_DEEPSLEEP)
 	case SUBSYS_BEFORE_DS_ENTRY:
 #endif
-#if IS_ENABLED(CONFIG_QCOM_Q6V5_PAS)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0))
 	case QCOM_SSR_BEFORE_SHUTDOWN:
 #else
 	case SUBSYS_BEFORE_SHUTDOWN:
@@ -3989,7 +3993,7 @@ static int ipa3_lcl_mdm_ssr_notifier_cb(struct notifier_block *this,
 		break;
 #endif
 
-#if IS_ENABLED(CONFIG_QCOM_Q6V5_PAS)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0))
 	case QCOM_SSR_AFTER_SHUTDOWN:
 #else
 	case SUBSYS_AFTER_SHUTDOWN:
@@ -3997,7 +4001,7 @@ static int ipa3_lcl_mdm_ssr_notifier_cb(struct notifier_block *this,
 		IPAWANINFO("IPA Received MPSS AFTER_SHUTDOWN\n");
 		/* Clean up netdev resources in AFTER_SHUTDOWN for remoteproc
 		 * enabled targets. */
-#if IS_ENABLED(CONFIG_QCOM_Q6V5_PAS)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0))
 		IPAWANINFO("rmnet_ipa unregister_netdev\n");
 		if (IPA_NETDEV())
 			unregister_netdev(IPA_NETDEV());
@@ -4029,7 +4033,7 @@ static int ipa3_lcl_mdm_ssr_notifier_cb(struct notifier_block *this,
 		break;
 #endif
 
-#if IS_ENABLED(CONFIG_QCOM_Q6V5_PAS)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0))
 	case QCOM_SSR_BEFORE_POWERUP:
 #else
 	case SUBSYS_BEFORE_POWERUP:
@@ -4048,7 +4052,7 @@ static int ipa3_lcl_mdm_ssr_notifier_cb(struct notifier_block *this,
 #if IS_ENABLED(CONFIG_DEEPSLEEP)
 	case SUBSYS_AFTER_DS_EXIT:
 #endif
-#if IS_ENABLED(CONFIG_QCOM_Q6V5_PAS)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0))
 	case QCOM_SSR_AFTER_POWERUP:
 #else
 	case SUBSYS_AFTER_POWERUP:
@@ -4086,28 +4090,28 @@ static int ipa3_rmt_mdm_ssr_notifier_cb(struct notifier_block *this,
 	}
 
 	switch (code) {
-#if IS_ENABLED(CONFIG_QCOM_Q6V5_PAS)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0))
 	case QCOM_SSR_BEFORE_SHUTDOWN:
 #else
 	case SUBSYS_BEFORE_SHUTDOWN:
 #endif
 		IPAWANINFO("IPA received RMT MPSS BEFORE_SHUTDOWN\n");
 		break;
-#if IS_ENABLED(CONFIG_QCOM_Q6V5_PAS)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0))
 	case QCOM_SSR_AFTER_SHUTDOWN:
 #else
 	case SUBSYS_AFTER_SHUTDOWN:
 #endif
 		IPAWANINFO("IPA Received RMT MPSS AFTER_SHUTDOWN\n");
 		break;
-#if IS_ENABLED(CONFIG_QCOM_Q6V5_PAS)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0))
 	case QCOM_SSR_BEFORE_POWERUP:
 #else
 	case SUBSYS_BEFORE_POWERUP:
 #endif
 		IPAWANINFO("IPA received RMT MPSS BEFORE_POWERUP\n");
 		break;
-#if IS_ENABLED(CONFIG_QCOM_Q6V5_PAS)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0))
 	case QCOM_SSR_AFTER_POWERUP:
 #else
 	case SUBSYS_AFTER_POWERUP:
@@ -6629,7 +6633,7 @@ int ipa3_wwan_init(void)
 	rmnet_ipa_debugfs_init();
 
 	/* Register for Local Modem SSR */
-#if IS_ENABLED(CONFIG_QCOM_Q6V5_PAS)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0))
 	ssr_hdl = qcom_register_ssr_notifier(SUBSYS_LOCAL_MODEM,
 		&ipa3_lcl_mdm_ssr_notifier);
 #else
@@ -6646,7 +6650,7 @@ int ipa3_wwan_init(void)
 
 	if (rmnet_ipa3_ctx->ipa_config_is_apq) {
 		/* Register for Remote Modem SSR */
-	#if IS_ENABLED(CONFIG_QCOM_Q6V5_PAS)
+	#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0))
 		ssr_hdl = qcom_register_ssr_notifier(SUBSYS_REMOTE_MODEM,
 			&ipa3_rmt_mdm_ssr_notifier);
 	#else
@@ -6668,7 +6672,7 @@ int ipa3_wwan_init(void)
 
 fail_unreg_lcl_mdm_ssr:
 	if (rmnet_ipa3_ctx->lcl_mdm_subsys_notify_handle) {
-#if IS_ENABLED(CONFIG_QCOM_Q6V5_PAS)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0))
 		qcom_unregister_ssr_notifier(
 			rmnet_ipa3_ctx->lcl_mdm_subsys_notify_handle,
 			&ipa3_lcl_mdm_ssr_notifier);
@@ -6690,7 +6694,7 @@ void ipa3_wwan_cleanup(void)
 
 	platform_driver_unregister(&rmnet_ipa_driver);
 	if (rmnet_ipa3_ctx->lcl_mdm_subsys_notify_handle) {
-#if IS_ENABLED(CONFIG_QCOM_Q6V5_PAS)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0))
 		ret = qcom_unregister_ssr_notifier(
 			rmnet_ipa3_ctx->lcl_mdm_subsys_notify_handle,
 			&ipa3_lcl_mdm_ssr_notifier);
@@ -6705,7 +6709,7 @@ void ipa3_wwan_cleanup(void)
 			SUBSYS_LOCAL_MODEM, ret);
 	}
 	if (rmnet_ipa3_ctx->rmt_mdm_subsys_notify_handle) {
-#if IS_ENABLED(CONFIG_QCOM_Q6V5_PAS)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0))
 		ret = qcom_unregister_ssr_notifier(
 			rmnet_ipa3_ctx->rmt_mdm_subsys_notify_handle,
 			&ipa3_rmt_mdm_ssr_notifier);

+ 30 - 76
drivers/platform/msm/ipa/test/ipa_test_ntn.c

@@ -105,12 +105,11 @@ struct rx_event_ring_ele
 }__packed;
 
 static inline void ipa_test_ntn_set_client_params(enum ipa_client_type cons_type,
-	enum ipa_client_type prod_type, int inst_id, enum ipa_eth_client_type eth_client_type)
+	enum ipa_client_type prod_type, int inst_id)
 {
 	test_ntn_ctx->cons_client_type = cons_type;
 	test_ntn_ctx->prod_client_type = prod_type;
 	test_ntn_ctx->eth_client_inst_id = inst_id;
-	test_ntn_ctx->client.client_type = eth_client_type;
 }
 
 static void ipa_test_ntn_free_dma_buff(struct ipa_mem_buffer *mem)
@@ -409,8 +408,7 @@ static int ipa_test_ntn_suite_setup(void **priv)
 		return -ENOMEM;
 	}
 
-	ipa_test_ntn_set_client_params(IPA_CLIENT_ETHERNET_CONS, IPA_CLIENT_ETHERNET_PROD, 0,
-			IPA_ETH_CLIENT_NTN3);
+	ipa_test_ntn_set_client_params(IPA_CLIENT_ETHERNET_CONS, IPA_CLIENT_ETHERNET_PROD, 0);
 
 	init_completion(&test_ntn_ctx->init_completion_obj);
 
@@ -548,20 +546,13 @@ static int ipa_ntn_test_setup_pipes(void)
 	struct ipa_eth_client *client;
 	int ret, i;
 #if IPA_ETH_API_VER >= 2
-	struct net_device *dummy_net_dev;
+	struct net_device dummy_net_dev;
 	unsigned char dummy_dev_addr = 1;
 
-	dummy_net_dev = kzalloc(sizeof(*dummy_net_dev), GFP_KERNEL);
-	if (dummy_net_dev == NULL){
-		IPA_UT_ERR("kzalloc failed\n");
-		return -ENOMEM;
-	}
-
-	memset(dummy_net_dev->name, 0, sizeof(dummy_net_dev->name));
-	dummy_net_dev->dev_addr = &dummy_dev_addr;
-
+	memset(dummy_net_dev.name, 0, sizeof(dummy_net_dev.name));
+	dummy_net_dev.dev_addr = &dummy_dev_addr;
 
-	/* client_type is set in ipa_test_ntn_set_client_params */
+	test_ntn_ctx->client.client_type = IPA_ETH_CLIENT_NTN3;
 	test_ntn_ctx->client.inst_id = test_ntn_ctx->eth_client_inst_id;
 #else
 	test_ntn_ctx->client.client_type = IPA_ETH_CLIENT_NTN;
@@ -569,7 +560,7 @@ static int ipa_ntn_test_setup_pipes(void)
 #endif
 	test_ntn_ctx->client.traffic_type = IPA_ETH_PIPE_BEST_EFFORT;
 #if IPA_ETH_API_VER >= 2
-	test_ntn_ctx->client.net_dev = dummy_net_dev;
+	test_ntn_ctx->client.net_dev = &dummy_net_dev;
 #endif
 
 	/* RX pipe */
@@ -697,22 +688,21 @@ static int ipa_ntn_test_setup_pipes(void)
 	ret = ipa_eth_client_conn_pipes(client);
 	if(ret) {
 		IPA_UT_ERR("ipa_eth_client_conn_pipes failed ret %d\n", ret);
-		ipa_ntn_test_del_client_list();
+		goto conn_failed;
 	}
 
-#if IPA_ETH_API_VER >= 2
-	kfree(dummy_net_dev);
-#endif
+	return 0;
 
+conn_failed:
+	ipa_ntn_test_del_client_list();
 	return ret;
-
 }
 
 static int ipa_ntn_test_reg_intf(void)
 {
 	struct ipa_eth_intf_info intf;
 #if IPA_ETH_API_VER >= 2
-	struct net_device *dummy_net_dev;
+	struct net_device dummy_net_dev;
 	unsigned char dummy_dev_addr[ETH_ALEN] = { 0 };
 #else
 	char netdev_name[IPA_RESOURCE_NAME_MAX] = { 0 };
@@ -722,17 +712,11 @@ static int ipa_ntn_test_reg_intf(void)
 
 	memset(&intf, 0, sizeof(intf));
 #if IPA_ETH_API_VER >= 2
-	dummy_net_dev = kzalloc(sizeof(*dummy_net_dev), GFP_KERNEL);
-	if (dummy_net_dev == NULL){
-		IPA_UT_ERR("kzalloc failed\n");
-		return -ENOMEM;
-	}
+	memset(dummy_net_dev.name, 0, sizeof(dummy_net_dev.name));
 
-	memset(dummy_net_dev->name, 0, sizeof(dummy_net_dev->name));
-	intf.net_dev = dummy_net_dev;
+	intf.net_dev = &dummy_net_dev;
 	intf.net_dev->dev_addr = (unsigned char *)dummy_dev_addr;
 	intf.is_conn_evt = true;
-	intf.client = &test_ntn_ctx->client;
 
 	snprintf(intf.net_dev->name, sizeof(intf.net_dev->name), "ntn_test");
 	IPA_UT_INFO("netdev name: %s strlen: %lu\n", intf.net_dev->name, strlen(intf.net_dev->name));
@@ -772,7 +756,6 @@ static int ipa_ntn_test_reg_intf(void)
 	}
 
 #if IPA_ETH_API_VER >= 2
-	kfree(dummy_net_dev);
 #else
 	kfree(intf.pipe_hdl_list);
 #endif
@@ -783,24 +766,17 @@ static int ipa_ntn_test_reg_intf(void)
 static int ipa_ntn_test_unreg_intf(void)
 {
 	struct ipa_eth_intf_info intf;
-	int ret = 0;
 #if IPA_ETH_API_VER >= 2
-	struct net_device *dummy_net_dev;
+	struct net_device dummy_net_dev;
 #else
 	char netdev_name[IPA_RESOURCE_NAME_MAX] = { 0 };
 #endif
 
 	memset(&intf, 0, sizeof(intf));
 #if IPA_ETH_API_VER >= 2
-	dummy_net_dev = kzalloc(sizeof(*dummy_net_dev), GFP_KERNEL);
-	if (dummy_net_dev == NULL){
-		IPA_UT_ERR("kzalloc failed\n");
-		return -ENOMEM;
-	}
+	memset(dummy_net_dev.name, 0, sizeof(dummy_net_dev.name));
 
-	memset(dummy_net_dev->name, 0, sizeof(dummy_net_dev->name));
-	intf.net_dev = dummy_net_dev;
-	intf.client = &test_ntn_ctx->client;
+	intf.net_dev = &dummy_net_dev;
 
 	snprintf(intf.net_dev->name, sizeof(intf.net_dev->name), "ntn_test");
 	IPA_UT_INFO("netdev name: %s strlen: %lu\n", intf.net_dev->name, strlen(intf.net_dev->name));
@@ -811,14 +787,7 @@ static int ipa_ntn_test_unreg_intf(void)
 		strlen(intf.netdev_name));
 #endif
 
-	ret = ipa_eth_client_unreg_intf(&intf);
-
-#if IPA_ETH_API_VER >= 2
-	kfree(dummy_net_dev);
-#endif
-
-	return ret;
-
+	return (ipa_eth_client_unreg_intf(&intf));
 }
 
 static void ipa_ntn_test_advance_db(u32 *db, int steps,
@@ -1001,7 +970,7 @@ static int ipa_ntn_teardown_pipes(void)
 }
 static int ipa_ntn_test_prepare_test(void)
 {
-	struct ipa_ep_cfg *ep_cfg;
+	struct ipa_ep_cfg ep_cfg = { { 0 } };
 	int offset = 0;
 	int ret = 0;
 
@@ -1044,29 +1013,21 @@ static int ipa_ntn_test_prepare_test(void)
 	}
 
 	/* configure NTN RX EP in DMA mode */
-	ep_cfg = kzalloc(sizeof(*ep_cfg), GFP_KERNEL);
-	if (ep_cfg == NULL){
-		IPA_UT_ERR("kzalloc failed\n");
-		return -ENOMEM;
-	}
+	ep_cfg.mode.mode = IPA_DMA;
+	ep_cfg.mode.dst = test_ntn_ctx->cons_client_type;
 
-	ep_cfg->mode.mode = IPA_DMA;
-	ep_cfg->mode.dst = test_ntn_ctx->cons_client_type;
-	ep_cfg->seq.set_dynamic = true;
+	ep_cfg.seq.set_dynamic = true;
 
-
-	if (ipa3_cfg_ep(ipa_get_ep_mapping(test_ntn_ctx->prod_client_type), ep_cfg)) {
+	if (ipa3_cfg_ep(ipa_get_ep_mapping(test_ntn_ctx->prod_client_type),
+		&ep_cfg)) {
 		IPA_UT_ERR("fail to configure DMA mode.\n");
 		ret = -EFAULT;
 		goto unreg;
 	}
 
-	kfree(ep_cfg);
-
 	return 0;
 
 unreg:
-	kfree(ep_cfg);
 	if (ipa_ntn_test_unreg_intf()) {
 		IPA_UT_ERR("fail to unregister interface.\n");
 		ret = -EFAULT;
@@ -1457,7 +1418,6 @@ static int ipa_ntn_test_multi_transfer_burst(void *priv)
 	}
 	IPA_UT_INFO("sent the last packet succesfully!\n");
 
-
 	ipa_ntn_test_print_stats();
 
 fail:
@@ -1471,20 +1431,16 @@ fail:
 	return ret;
 }
 
-#if IPA_ETH_API_VER >= 2
-static int ipa_ntn_test_eth1_multi_transfer_burst(void *priv)
+static int ipa_ntn_test_clients2_multi_transfer_burst(void *priv)
 {
 	int ret;
 
-	ipa_test_ntn_set_client_params(IPA_CLIENT_ETHERNET2_CONS, IPA_CLIENT_ETHERNET2_PROD, 1,
-		IPA_ETH_CLIENT_NTN3);
+	ipa_test_ntn_set_client_params(IPA_CLIENT_ETHERNET2_CONS, IPA_CLIENT_ETHERNET2_PROD, 1);
 	ret = ipa_ntn_test_multi_transfer_burst(priv);
-	ipa_test_ntn_set_client_params(IPA_CLIENT_ETHERNET_CONS, IPA_CLIENT_ETHERNET_PROD, 0,
-		IPA_ETH_CLIENT_NTN3);
+	ipa_test_ntn_set_client_params(IPA_CLIENT_ETHERNET_CONS, IPA_CLIENT_ETHERNET_PROD, 0);
 
 	return ret;
 }
-#endif
 
 /* Suite definition block */
 IPA_UT_DEFINE_SUITE_START(ntn, "NTN3 tests",
@@ -1515,12 +1471,10 @@ IPA_UT_DEFINE_SUITE_START(ntn, "NTN3 tests",
 			ipa_ntn_test_multi_transfer_burst,
 			true, IPA_HW_v5_0, IPA_HW_MAX),
 
-#if IPA_ETH_API_VER >= 2
-	IPA_UT_ADD_TEST(eth1_multi_transfer_burst,
-			"eth1: send entire ring in one shot",
-			ipa_ntn_test_eth1_multi_transfer_burst,
+	IPA_UT_ADD_TEST(clients2_multi_transfer_burst,
+			"Clients pair 2 send entire ring in one shot",
+			ipa_ntn_test_clients2_multi_transfer_burst,
 			true, IPA_HW_v5_0, IPA_HW_MAX),
-#endif
 } IPA_UT_DEFINE_SUITE_END(ntn);