From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0D99F45CA4; Thu, 7 Nov 2024 20:39:42 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EECFC432C2; Thu, 7 Nov 2024 20:39:41 +0100 (CET) Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) by mails.dpdk.org (Postfix) with ESMTP id A84FE432C2 for ; Thu, 7 Nov 2024 20:39:40 +0100 (CET) Received: by mail-pg1-f170.google.com with SMTP id 41be03b00d2f7-7eda47b7343so981895a12.0 for ; Thu, 07 Nov 2024 11:39:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1731008380; x=1731613180; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=pl9pTBV/Q0dSOuj2UCExHxL7pSos/IFN9p5Njh11fmI=; b=VHIjEY/IzFz+yLrPcC59CIZxijoJzyovq/zOSEmzlqwDgBNX9ZbDssiFhklcd+XL0M t6xiD9IJQfzqwvSJF6lJJ4bhiMwP5dlcTU1lcWZMQIPAuxbubxN3rkHlRNTelOW+2TqW W17GOWgQzQOuJHm8uWpxbeAHa+u8G1lAEArEei3+Ayn1oRB77adnEl0qputc17G9bWOX 1GbCMjZAgAFhl9PxfnC16b1bbfhMfJA8qV+RhJrV8+1+XKpCOJTNQS4FTqi35Q8+OeVP EmF34Vgr+08Rczw2dmNeVm0Uz7Fc9P4dPSIAdGiYD35WEyRuBD3bYtZao9q4tr8wtWTs gEUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731008380; x=1731613180; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pl9pTBV/Q0dSOuj2UCExHxL7pSos/IFN9p5Njh11fmI=; b=QRyON0HoM9ka4ZZYK6FLdNQsekoBSVWb2puRDLXDMOE+EP3R4LWg5buRKOcxIlaK19 SkFuxoFPxvaJykkVUzjRWGOkthRRhs4CdtkzcB1MggKVuFp3MuAUeRcH0V/f5u8pQejf jVMQ1XUXaL4pvagZ/SpS3lrFsIqWqhFqMbzCM+Xwu0HQf03vcG3VAUdwSpKt0rrOdWbG Pb+EpZx0nY89QFhs6/Ln7JaoaSDIj3R+f8biXUgzszP5yEKHWrRBCjR/Q3lnQTrmeo43 82/zkpEFc4JV0OlVxW4H7eRfzvu0W8rIMPFrK2mmhLmS77HaXOoxuvUoeugE1pae7/oY rgvw== X-Gm-Message-State: AOJu0YxwdjmFLX3GgQOtWl7gFe/BEnnK461/fx6uXEMa/eSko7xjpN51 A5/50lP6skWZL8MGkUVTz+jaWR0ob+Vu1y3cOjuf73eY7rxWGnqieC54hzolhqc= X-Google-Smtp-Source: AGHT+IHYREtKd+2JJaZlX3vuJc3nEmZtQs0+GD8iw0N9dZnTglyPtZkuxe392NfBmgq52D493jLf6g== X-Received: by 2002:a05:6a20:d80b:b0:1db:f05f:55c1 with SMTP id adf61e73a8af0-1dc22b642e4mr187235637.30.1731008379754; Thu, 07 Nov 2024 11:39:39 -0800 (PST) Received: from hermes.local (204-195-96-226.wavecable.com. [204.195.96.226]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-724079a3d5bsm2068275b3a.106.2024.11.07.11.39.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Nov 2024 11:39:39 -0800 (PST) Date: Thu, 7 Nov 2024 11:29:35 -0800 From: Stephen Hemminger To: vanshika.shukla@nxp.com Cc: dev@dpdk.org Subject: Re: [v2 00/12] ENETC4 PMD support Message-ID: <20241107112935.035bc77d@hermes.local> In-Reply-To: <20241023062433.851218-1-vanshika.shukla@nxp.com> References: <20241018072644.2379012-1-vanshika.shukla@nxp.com> <20241023062433.851218-1-vanshika.shukla@nxp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Wed, 23 Oct 2024 11:54:21 +0530 vanshika.shukla@nxp.com wrote: > From: Vanshika Shukla > > This series introduces a new ENETC4 PMD driver for NXP's i.MX95 > SoC, enabling basic network operations. > > V2 changes: > Handled code comments by the reviewer in: > "net/enetc: Add initial ENETC4 PMD driver support" > "net/enetc: Optimize ENETC4 data path" > > Apeksha Gupta (6): > net/enetc: Add initial ENETC4 PMD driver support > net/enetc: Add RX and TX queue APIs for ENETC4 PMD > net/enetc: Optimize ENETC4 data path > net/enetc: Add TX checksum offload and RX checksum validation > net/enetc: Add basic statistics > net/enetc: Add packet type parsing support > > Gagandeep Singh (1): > net/enetc: Add support for multiple queues with RSS > > Vanshika Shukla (5): > net/enetc: Add VF to PF messaging support and primary MAC setup > net/enetc: Add multicast and promiscuous mode support > net/enetc: Add link speed and status support > net/enetc: Add link status notification support > net/enetc: Add MAC and VLAN filter support > > MAINTAINERS | 3 + > config/arm/arm64_imx_linux_gcc | 17 + > config/arm/meson.build | 14 + > doc/guides/nics/enetc4.rst | 99 ++ > doc/guides/nics/features/enetc4.ini | 22 + > doc/guides/nics/index.rst | 1 + > doc/guides/rel_notes/release_24_11.rst | 4 + > drivers/net/enetc/base/enetc4_hw.h | 186 ++++ > drivers/net/enetc/base/enetc_hw.h | 52 +- > drivers/net/enetc/enetc.h | 246 ++++- > drivers/net/enetc/enetc4_ethdev.c | 1040 ++++++++++++++++++ > drivers/net/enetc/enetc4_vf.c | 1364 ++++++++++++++++++++++++ > drivers/net/enetc/enetc_cbdr.c | 311 ++++++ > drivers/net/enetc/enetc_ethdev.c | 5 +- > drivers/net/enetc/enetc_rxtx.c | 165 ++- > drivers/net/enetc/kpage_ncache_api.h | 70 ++ > drivers/net/enetc/meson.build | 5 +- > drivers/net/enetc/ntmp.h | 110 ++ > 18 files changed, 3673 insertions(+), 41 deletions(-) > create mode 100644 config/arm/arm64_imx_linux_gcc > create mode 100644 doc/guides/nics/enetc4.rst > create mode 100644 doc/guides/nics/features/enetc4.ini > create mode 100644 drivers/net/enetc/base/enetc4_hw.h > create mode 100644 drivers/net/enetc/enetc4_ethdev.c > create mode 100644 drivers/net/enetc/enetc4_vf.c > create mode 100644 drivers/net/enetc/enetc_cbdr.c > create mode 100644 drivers/net/enetc/kpage_ncache_api.h > create mode 100644 drivers/net/enetc/ntmp.h > Tcd he files using rte_malloc are not the ones including rte_malloc.h $ git grep rte_malloc enetc4_ethdev.c: txr->q_swbd = rte_malloc(NULL, size, ENETC_BD_RING_ALIGN); enetc4_ethdev.c: rxr->q_swbd = rte_malloc(NULL, size, ENETC_BD_RING_ALIGN); enetc4_ethdev.c: rss_table = rte_malloc(NULL, hw->num_rss * sizeof(*rss_table), ENETC_CBDR_ALIGN); enetc_cbdr.c: tmp = rte_malloc(NULL, data_size, ENETC_CBDR_ALIGN); enetc_cbdr.c: cbdr->addr_base = rte_malloc(NULL, size, ENETC_CBDR_ALIGN); enetc_ethdev.c: txr->q_swbd = rte_malloc(NULL, size, ENETC_BD_RING_ALIGN); enetc_ethdev.c: txr->bd_base = rte_malloc(NULL, size, ENETC_BD_RING_ALIGN); enetc_ethdev.c: rxr->q_swbd = rte_malloc(NULL, size, ENETC_BD_RING_ALIGN); enetc_ethdev.c: rxr->bd_base = rte_malloc(NULL, size, ENETC_BD_RING_ALIGN); enetc_rxtx.c:#include "rte_malloc.h" The took iwyu gives hint as to recommended includes. Don't trust it blindly but for example: $ iwyu -I drivers/bus/pci -I drivers/common/dpaax -I lib/ethdev -I lib/net -I lib/eal/include -I drivers/bus/vdev -I lib/kvargs drivers/net/enetc/enetc_ethdev.c drivers/net/enetc/enetc_ethdev.c should add these lines: #include // for ENOMEM, EINVAL #include // for RTE_PKTMBUF_HEADROOM #include // for RTE_LOG_DEBUG, RTE_LOG_ERR, RTE_L... #include // for rte_pktmbuf_free, rte_pktmbuf_dat... #include // for RTE_PTYPE_L2_ETHER, RTE_PTYPE_L3_... #include // for rte_pci_id #include // for uint32_t, uint16_t, uint64_t, uin... #include // for NULL, size_t, memset #include "base/enetc4_hw.h" // for L3_CKSUM, L4_CKSUM #include "base/enetc_hw.h" // for enetc_port_wr, enetc_port_rd, ene... #include "bus_pci_driver.h" // for rte_pci_device, RTE_PCI_DEVICE #include "compat.h" // for lower_32_bits, upper_32_bits #include "ethdev_driver.h" // for rte_eth_dev, rte_eth_dev_data #include "ethdev_pci.h" // for rte_eth_dev_pci_generic_probe #include "rte_branch_prediction.h" // for unlikely #include "rte_common.h" // for __rte_unused, phys_addr_t, RTE_PR... #include "rte_dev.h" // for rte_mem_resource, RTE_PMD_REGISTE... #include "rte_eal.h" // for rte_eal_iova_mode, rte_eal_proces... #include "rte_ethdev.h" // for rte_eth_link, RTE_ETH_QUEUE_STATE... #include "rte_ether.h" // for RTE_ETHER_CRC_LEN, RTE_ETHER_HDR_LEN #include "rte_malloc.h" // for rte_free, rte_malloc, rte_zmalloc #include "rte_memory.h" // for rte_mem_virt2iova struct rte_mempool; drivers/net/enetc/enetc_ethdev.c should remove these lines: - #include // lines 5-5