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 996D245CA6; Fri, 8 Nov 2024 13:14:37 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 07BAB43387; Fri, 8 Nov 2024 13:14:36 +0100 (CET) Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) by mails.dpdk.org (Postfix) with ESMTP id C59D543359 for ; Fri, 8 Nov 2024 13:14:33 +0100 (CET) X-SpamFilter-By: ArmorX SpamTrap 5.78 with qID 4A8CEVipC1902667, This message is accepted by code: ctloc85258 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=realsil.com.cn; s=dkim; t=1731068072; bh=wy7rFByH/4e353giELN3TQNdVCLQixKQHuoxsZ6gVFU=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Transfer-Encoding:Content-Type; b=JN+3tWaT1vxa898MzmhEcxibJWUFgRwK2nsXPP4y9xT4SORGebtg62txOjiHZ1Oml wdE0jgWX9PXVQPPXpn4lQUnLI6sFbimKfgUlqO/ACbmyNECgqG8Z3v8pbe7HGSvodL i2B4AxmVl6cYtJiRIcmOiJfPco+vCF56YVjY3fY2jbZ6wx11lh58oNHtXqeTXkGKvX KMf/3RQKgE0pGntw8uaR5dv3ApdUwh7R09SHppZak1w4DuMsey0/CKMHM9zfi6h042 lfr+QEu/LzEp5ONic7pnFP9c2uIbhJAetqAiKyLgZBibjv7D5cQkaIHQdoQ0G4WdKc TbE3CsKvvJV8A== Received: from RSEXH36502.realsil.com.cn (rsn1.realsil.com.cn[172.29.17.3]) by rtits2.realtek.com.tw (8.15.2/3.06/5.92) with ESMTPS id 4A8CEVipC1902667 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Fri, 8 Nov 2024 20:14:31 +0800 Received: from RSEXDAG02.realsil.com.cn (172.29.17.196) by RSEXH36502.realsil.com.cn (172.29.17.3) 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:14:31 +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:14:31 +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:14:31 +0800 From: Howard Wang To: CC: , Howard Wang Subject: [PATCH v6 16/17] net/r8169: add support for getting fw version Date: Fri, 8 Nov 2024 20:11:22 +0800 Message-ID: <20241108121123.248797-17-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 Signed-off-by: Howard Wang --- doc/guides/nics/features/r8169.ini | 1 + drivers/net/r8169/r8169_ethdev.c | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/doc/guides/nics/features/r8169.ini b/doc/guides/nics/features/r8169.ini index 3bcba23ea5..8e4142f64e 100644 --- a/doc/guides/nics/features/r8169.ini +++ b/doc/guides/nics/features/r8169.ini @@ -25,6 +25,7 @@ Tx descriptor status = Y Basic stats = Y Extended stats = Y Stats per queue = Y +FW version = Y Registers dump = Y Linux = Y x86-32 = Y diff --git a/drivers/net/r8169/r8169_ethdev.c b/drivers/net/r8169/r8169_ethdev.c index 8daf1c26ab..cda9fd5ae8 100644 --- a/drivers/net/r8169/r8169_ethdev.c +++ b/drivers/net/r8169/r8169_ethdev.c @@ -43,6 +43,8 @@ static int rtl_promiscuous_disable(struct rte_eth_dev *dev); static int rtl_allmulticast_enable(struct rte_eth_dev *dev); static int rtl_allmulticast_disable(struct rte_eth_dev *dev); static int rtl_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu); +static int rtl_fw_version_get(struct rte_eth_dev *dev, char *fw_version, + size_t fw_size); /* * The set of PCI devices this driver supports @@ -91,6 +93,8 @@ static const struct eth_dev_ops rtl_eth_dev_ops = { .mtu_set = rtl_dev_mtu_set, + .fw_version_get = rtl_fw_version_get, + .rx_queue_setup = rtl_rx_queue_setup, .rx_queue_release = rtl_rx_queue_release, .rxq_info_get = rtl_rxq_info_get, @@ -616,6 +620,22 @@ rtl_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu) return 0; } +static int +rtl_fw_version_get(struct rte_eth_dev *dev, char *fw_version, size_t fw_size) +{ + struct rtl_adapter *adapter = RTL_DEV_PRIVATE(dev); + struct rtl_hw *hw = &adapter->hw; + int ret; + + ret = snprintf(fw_version, fw_size, "0x%08x", hw->hw_ram_code_ver); + + ret += 1; /* Add the size of '\0' */ + if (fw_size < (u32)ret) + return ret; + else + return 0; +} + static int rtl_dev_init(struct rte_eth_dev *dev) { -- 2.34.1