]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: ixgbe: convert to use .get_rx_ring_count
authorBreno Leitao <leitao@debian.org>
Thu, 13 Nov 2025 14:23:29 +0000 (06:23 -0800)
committerJakub Kicinski <kuba@kernel.org>
Sat, 15 Nov 2025 02:02:22 +0000 (18:02 -0800)
Convert the ixgbe driver to use the new .get_rx_ring_count ethtool
operation for handling ETHTOOL_GRXRINGS command. This simplifies the
code by extracting the ring count logic into a dedicated callback.

The new callback provides the same functionality in a more direct way,
following the ongoing ethtool API modernization.

This was compile-tested only.

Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Signed-off-by: Breno Leitao <leitao@debian.org>
Link: https://patch.msgid.link/20251113-ixgbe_gxrings-v2-1-0ecf57808a78@debian.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c

index 2d660e9edb80af8fc834e097703dfd6a82b8c45b..2ad81f687a844a5f6c802ee443144935272c92c1 100644 (file)
@@ -2805,6 +2805,14 @@ static int ixgbe_rss_indir_tbl_max(struct ixgbe_adapter *adapter)
                return 64;
 }
 
+static u32 ixgbe_get_rx_ring_count(struct net_device *dev)
+{
+       struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
+
+       return min_t(u32, adapter->num_rx_queues,
+                    ixgbe_rss_indir_tbl_max(adapter));
+}
+
 static int ixgbe_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd,
                           u32 *rule_locs)
 {
@@ -2812,11 +2820,6 @@ static int ixgbe_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd,
        int ret = -EOPNOTSUPP;
 
        switch (cmd->cmd) {
-       case ETHTOOL_GRXRINGS:
-               cmd->data = min_t(int, adapter->num_rx_queues,
-                                 ixgbe_rss_indir_tbl_max(adapter));
-               ret = 0;
-               break;
        case ETHTOOL_GRXCLSRLCNT:
                cmd->rule_cnt = adapter->fdir_filter_count;
                ret = 0;
@@ -3743,6 +3746,7 @@ static const struct ethtool_ops ixgbe_ethtool_ops = {
        .get_ethtool_stats      = ixgbe_get_ethtool_stats,
        .get_coalesce           = ixgbe_get_coalesce,
        .set_coalesce           = ixgbe_set_coalesce,
+       .get_rx_ring_count      = ixgbe_get_rx_ring_count,
        .get_rxnfc              = ixgbe_get_rxnfc,
        .set_rxnfc              = ixgbe_set_rxnfc,
        .get_rxfh_indir_size    = ixgbe_rss_indir_size,
@@ -3791,6 +3795,7 @@ static const struct ethtool_ops ixgbe_ethtool_ops_e610 = {
        .get_ethtool_stats      = ixgbe_get_ethtool_stats,
        .get_coalesce           = ixgbe_get_coalesce,
        .set_coalesce           = ixgbe_set_coalesce,
+       .get_rx_ring_count      = ixgbe_get_rx_ring_count,
        .get_rxnfc              = ixgbe_get_rxnfc,
        .set_rxnfc              = ixgbe_set_rxnfc,
        .get_rxfh_indir_size    = ixgbe_rss_indir_size,