From 57b521e876986844dfe34457f39c62dc8100424d Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Thu, 23 Jun 2022 14:18:50 +0200 Subject: [PATCH] nss-dp: edma-v1: switch to napi_gro_receive Utilize napi_gro_receive instead of plain netif_receive_skb on EDMA v1. It provides significant performance improvements when testing with iperf3. Signed-off-by: Robert Marko --- Makefile | 2 +- hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 8e81317..dcfa8ca 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,7 @@ qca-nss-dp-objs += hal/dp_ops/edma_dp/edma_v1/edma_cfg.o \ hal/gmac_ops/qcom/qcom_if.o \ hal/gmac_ops/syn/xgmac/syn_if.o NSS_DP_INCLUDE += -I$(obj)/hal/dp_ops/edma_dp/edma_v1/include -ccflags-y += -DNSS_DP_PPE_SUPPORT +ccflags-y += -DNSS_DP_PPE_SUPPORT -DNSS_DP_ENABLE_NAPI_GRO endif ifeq ($(SoC),$(filter $(SoC),ipq807x)) diff --git a/hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c b/hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c index 5780a30..6ee1451 100644 --- a/hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c +++ b/hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c @@ -411,7 +411,11 @@ static uint32_t edma_clean_rx(struct edma_hw *ehw, NSS_PTP_EVENT_SERVICE_CODE)) nss_phy_tstamp_rx_buf(ndev, skb); else +#if defined(NSS_DP_ENABLE_NAPI_GRO) + napi_gro_receive(&ehw->napi, skb); +#else netif_receive_skb(skb); +#endif next_rx_desc: /* -- 2.36.1