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 E6C0A45FD7; Fri, 3 Jan 2025 16:05:57 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 10E1440687; Fri, 3 Jan 2025 16:04:51 +0100 (CET) Received: from lf-1-33.ptr.blmpb.com (lf-1-33.ptr.blmpb.com [103.149.242.33]) by mails.dpdk.org (Postfix) with ESMTP id 8F2244068A for ; Fri, 3 Jan 2025 16:04:48 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=feishu2403070942; d=yunsilicon.com; t=1735916682; h=from:subject: mime-version:from:date:message-id:subject:to:cc:reply-to:content-type: mime-version:in-reply-to:message-id; bh=nzNOAFUyiQGUU7Pa02wTwh0uloo4KpP/RdXw/Ofk2JE=; b=XwRHKUqKBj6iTUDkyLhXjUKXd4+FpHARqtPwWpii4mlfBnErZMFll+cbnDJTrrCCYFB8NO TbQugBUxnN5LIMhyKdqNtge768Mae29U6ZHhLrWlLItENnzhGamwYsZBc7vz0ImbP7mpGM 8pVmjqRGE4URp2Nus0TFYod32G+81OXi8QIJFOI1gN/fgL0JRfa8O0ExUq5sy+3jfLsadr yNKwcVR8jJ/020wxvoS0Cg5q+mx5lDiAQ0AUkkF6FIUn0nwhqnGXhRj92Wvi2pETKbsqQi pqHMSeQgcz7Ji01GsIVs+oiu44HTN+rqtzUAZuBEQpXApSKD+M4fpHYuLq49HA== X-Original-From: WanRenyong Content-Type: text/plain; charset=UTF-8 X-Lms-Return-Path: Received: from ubuntu-liun.yunsilicon.com ([58.34.192.114]) by smtp.feishu.cn with ESMTPS; Fri, 03 Jan 2025 23:04:39 +0800 Content-Transfer-Encoding: 7bit To: Cc: , , , , , , , , , From: "WanRenyong" Subject: [PATCH v4 00/15] XSC PMD for Yunsilicon NICs Message-Id: <20250103150404.1529663-1-wanry@yunsilicon.com> Date: Fri, 03 Jan 2025 23:04:40 +0800 Mime-Version: 1.0 X-Mailer: git-send-email 2.25.1 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 This xsc PMD (**librte_net_xsc**) provides poll mode driver for Yunsilicon metaScale serials NICs. Features: --------- - MTU update - TSO - RSS hash - RSS key update - RSS reta update - L3 checksum offload - L4 checksum offload - Inner L3 checksum - Inner L4 checksum - Basic stats Support NICs: ------------- - metaScale-200S Single QSFP56 Port 200GE SmartNIC - metaScale-200 Quad QSFP28 Ports 100GE SmartNIC - metaScale-50 Dual QSFP28 Port 25GE SmartNIC - metaScale-100Q Quad QSFP28 Port 25GE SmartNIC --- v4: * Based on the review comments from previous versions, reconstruct the xsc PMD to eliminate the dependency on rdma core library and proprietary kernel driver, while adding support for the vfio kernel driver. v3: * fix compilation errors v2: * fix checkpatch warnings and errors --- WanRenyong (15): net/xsc: add xsc PMD framework net/xsc: add xsc device initialization net/xsc: add xsc mailbox net/xsc: add xsc dev ops to support VFIO driver net/xsc: add PCT interfaces net/xsc: initialize xsc representors net/xsc: add ethdev configure and RSS ops net/xsc: add Rx and Tx queue setup net/xsc: add ethdev start net/xsc: add ethdev stop and close net/xsc: add ethdev Rx burst net/xsc: add ethdev Tx burst net/xsc: add basic stats ops net/xsc: add ethdev infos get net/xsc: add ethdev link and MTU ops .mailmap | 5 + MAINTAINERS | 10 + doc/guides/nics/features/xsc.ini | 18 + doc/guides/nics/index.rst | 1 + doc/guides/nics/xsc.rst | 31 + doc/guides/rel_notes/release_25_03.rst | 4 + drivers/net/meson.build | 1 + drivers/net/xsc/meson.build | 17 + drivers/net/xsc/xsc_cmd.h | 387 ++++++++++ drivers/net/xsc/xsc_defs.h | 100 +++ drivers/net/xsc/xsc_dev.c | 397 +++++++++++ drivers/net/xsc/xsc_dev.h | 184 +++++ drivers/net/xsc/xsc_ethdev.c | 943 +++++++++++++++++++++++++ drivers/net/xsc/xsc_ethdev.h | 63 ++ drivers/net/xsc/xsc_log.h | 24 + drivers/net/xsc/xsc_np.c | 492 +++++++++++++ drivers/net/xsc/xsc_np.h | 154 ++++ drivers/net/xsc/xsc_rx.c | 512 ++++++++++++++ drivers/net/xsc/xsc_rx.h | 65 ++ drivers/net/xsc/xsc_rxtx.h | 191 +++++ drivers/net/xsc/xsc_tx.c | 354 ++++++++++ drivers/net/xsc/xsc_tx.h | 62 ++ drivers/net/xsc/xsc_vfio.c | 750 ++++++++++++++++++++ drivers/net/xsc/xsc_vfio_mbox.c | 691 ++++++++++++++++++ drivers/net/xsc/xsc_vfio_mbox.h | 142 ++++ 25 files changed, 5598 insertions(+) create mode 100644 doc/guides/nics/features/xsc.ini create mode 100644 doc/guides/nics/xsc.rst create mode 100644 drivers/net/xsc/meson.build create mode 100644 drivers/net/xsc/xsc_cmd.h create mode 100644 drivers/net/xsc/xsc_defs.h create mode 100644 drivers/net/xsc/xsc_dev.c create mode 100644 drivers/net/xsc/xsc_dev.h create mode 100644 drivers/net/xsc/xsc_ethdev.c create mode 100644 drivers/net/xsc/xsc_ethdev.h create mode 100644 drivers/net/xsc/xsc_log.h create mode 100644 drivers/net/xsc/xsc_np.c create mode 100644 drivers/net/xsc/xsc_np.h create mode 100644 drivers/net/xsc/xsc_rx.c create mode 100644 drivers/net/xsc/xsc_rx.h create mode 100644 drivers/net/xsc/xsc_rxtx.h create mode 100644 drivers/net/xsc/xsc_tx.c create mode 100644 drivers/net/xsc/xsc_tx.h create mode 100644 drivers/net/xsc/xsc_vfio.c create mode 100644 drivers/net/xsc/xsc_vfio_mbox.c create mode 100644 drivers/net/xsc/xsc_vfio_mbox.h -- 2.25.1