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 1068845CA6; Fri, 8 Nov 2024 13:12:18 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0098E40677; Fri, 8 Nov 2024 13:12:18 +0100 (CET) Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) by mails.dpdk.org (Postfix) with ESMTP id 16B614025E for ; Fri, 8 Nov 2024 13:12:16 +0100 (CET) X-SpamFilter-By: ArmorX SpamTrap 5.78 with qID 4A8CCEuiC1901886, This message is accepted by code: ctloc85258 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=realsil.com.cn; s=dkim; t=1731067935; bh=gGVtQ4sngyCfrBzTNXNueUvBkDWZLLIgdt7ElQO9pMQ=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Transfer-Encoding:Content-Type; b=Do0+UZ6hDyYRgtKRz3+y9HnG9um50lhZXaMcur6FDyKGeJonc/5swB2OpkGnTeheD OcDKt2zTOfDhYzQwxGlp0b8fQxs49SjZv/hvcWix7C59q3UuhM4SxU2mUuJ7YK0lNq 2BMsES2aPKfdSeSLLRZfy0W7kFr69KsfpKwgVw6eDEqv+Hp1a1rb2nYQ+Oj+lPm6zz EX7XXBJj79E6R09+/kAJ3qjhZHzDU623V8vaB1o363sqVR9BAoNZp5qCj6eLkcFyIm Rn6jn2wFCUDQCY43RE2zo3ooN2uRbR9+DXbeJzEnWSVJ9D3FQUTV7b2NDb/Rl6/2QY mjUbxjUlaLCtQ== Received: from RSEXH36501.realsil.com.cn (rsfs1.realsil.com.cn[172.29.17.2]) by rtits2.realtek.com.tw (8.15.2/3.06/5.92) with ESMTPS id 4A8CCEuiC1901886 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Fri, 8 Nov 2024 20:12:15 +0800 Received: from RSEXDAG02.realsil.com.cn (172.29.17.196) by RSEXH36501.realsil.com.cn (172.29.17.2) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 8 Nov 2024 20:12:15 +0800 Received: from RSEXH36502.realsil.com.cn (172.29.17.3) by RSEXDAG02.realsil.com.cn (172.29.17.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 8 Nov 2024 20:12:14 +0800 Received: from 172.29.32.27 (172.29.32.27) by RSEXH36502.realsil.com.cn (172.29.17.3) with Microsoft SMTP Server id 15.1.2507.35 via Frontend Transport; Fri, 8 Nov 2024 20:12:14 +0800 From: Howard Wang To: CC: , Howard Wang Subject: [PATCH v6 04/17] net/r8169: implement core logic for Tx/Rx Date: Fri, 8 Nov 2024 20:11:10 +0800 Message-ID: <20241108121123.248797-5-howard_wang@realsil.com.cn> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241108121123.248797-1-howard_wang@realsil.com.cn> References: <20241108121123.248797-1-howard_wang@realsil.com.cn> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain 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 Add RX/TX function prototypes for further datapath development. Signed-off-by: Howard Wang --- drivers/net/r8169/meson.build | 1 + drivers/net/r8169/r8169_ethdev.c | 20 ++++++++++++++- drivers/net/r8169/r8169_ethdev.h | 6 +++++ drivers/net/r8169/r8169_rxtx.c | 43 ++++++++++++++++++++++++++++++++ 4 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 drivers/net/r8169/r8169_rxtx.c diff --git a/drivers/net/r8169/meson.build b/drivers/net/r8169/meson.build index 918156fbc8..08c3858387 100644 --- a/drivers/net/r8169/meson.build +++ b/drivers/net/r8169/meson.build @@ -4,4 +4,5 @@ sources = files( 'r8169_ethdev.c', 'r8169_hw.c', + 'r8169_rxtx.c', ) diff --git a/drivers/net/r8169/r8169_ethdev.c b/drivers/net/r8169/r8169_ethdev.c index 8208a54a00..3bfac5d011 100644 --- a/drivers/net/r8169/r8169_ethdev.c +++ b/drivers/net/r8169/r8169_ethdev.c @@ -17,6 +17,8 @@ #include "r8169_ethdev.h" #include "r8169_compat.h" +#include "r8169_logs.h" +#include "r8169_hw.h" static int rtl_dev_configure(struct rte_eth_dev *dev); static int rtl_dev_start(struct rte_eth_dev *dev); @@ -54,9 +56,23 @@ rtl_dev_configure(struct rte_eth_dev *dev __rte_unused) * It returns 0 on success. */ static int -rtl_dev_start(struct rte_eth_dev *dev __rte_unused) +rtl_dev_start(struct rte_eth_dev *dev) { + int err; + + /* Initialize transmission unit */ + rtl_tx_init(dev); + + /* This can fail when allocating mbufs for descriptor rings */ + err = rtl_rx_init(dev); + if (err) { + PMD_INIT_LOG(ERR, "Unable to initialize RX hardware"); + goto error; + } + return 0; +error: + return -EIO; } /* @@ -88,6 +104,8 @@ static int rtl_dev_init(struct rte_eth_dev *dev) { dev->dev_ops = &rtl_eth_dev_ops; + dev->tx_pkt_burst = &rtl_xmit_pkts; + dev->rx_pkt_burst = &rtl_recv_pkts; /* For secondary processes, the primary process has done all the work */ if (rte_eal_process_type() != RTE_PROC_PRIMARY) diff --git a/drivers/net/r8169/r8169_ethdev.h b/drivers/net/r8169/r8169_ethdev.h index 8745ff8a6c..63b49d2410 100644 --- a/drivers/net/r8169/r8169_ethdev.h +++ b/drivers/net/r8169/r8169_ethdev.h @@ -33,4 +33,10 @@ struct rtl_adapter { #define RTL_DEV_PRIVATE(eth_dev) \ ((struct rtl_adapter *)((eth_dev)->data->dev_private)) +int rtl_rx_init(struct rte_eth_dev *dev); +int rtl_tx_init(struct rte_eth_dev *dev); + +uint16_t rtl_xmit_pkts(void *txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts); +uint16_t rtl_recv_pkts(void *rxq, struct rte_mbuf **rx_pkts, uint16_t nb_pkts); + #endif diff --git a/drivers/net/r8169/r8169_rxtx.c b/drivers/net/r8169/r8169_rxtx.c new file mode 100644 index 0000000000..d8087e629d --- /dev/null +++ b/drivers/net/r8169/r8169_rxtx.c @@ -0,0 +1,43 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2024 Realtek Corporation. All rights reserved + */ + +#include +#include + +#include + +#include +#include +#include +#include +#include +#include + +#include "r8169_ethdev.h" + +/* ---------------------------------RX---------------------------------- */ +int +rtl_rx_init(struct rte_eth_dev *dev) +{ + return 0; +} + +uint16_t +rtl_recv_pkts(void *rxq, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) +{ + return 0; +} + +/* ---------------------------------TX---------------------------------- */ +int +rtl_tx_init(struct rte_eth_dev *dev) +{ + return 0; +} + +uint16_t +rtl_xmit_pkts(void *txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) +{ + return 0; +} -- 2.34.1