[PATCH v8 16/17] net/r8169: add support for getting FW version
Howard Wang
howard_wang at realsil.com.cn
Wed Nov 13 10:28:53 CET 2024
Signed-off-by: Howard Wang <howard_wang at realsil.com.cn>
---
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 a509107dea..6a91aa2240 100644
--- a/doc/guides/nics/features/r8169.ini
+++ b/doc/guides/nics/features/r8169.ini
@@ -17,6 +17,7 @@ Flow control = Y
L3 checksum offload = Y
L4 checksum offload = Y
Basic stats = Y
+FW version = Y
Linux = Y
x86-32 = Y
x86-64 = 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
More information about the dev
mailing list