]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
eth: bnx2x: migrate to new RXFH callbacks
authorJakub Kicinski <kuba@kernel.org>
Tue, 17 Jun 2025 01:45:51 +0000 (18:45 -0700)
committerJakub Kicinski <kuba@kernel.org>
Wed, 18 Jun 2025 20:17:32 +0000 (13:17 -0700)
Migrate to new callbacks added by commit 9bb00786fc61 ("net: ethtool:
add dedicated callbacks for getting and setting rxfh fields").

The driver has no other RXNFC functionality so the SET callback can
be now removed.

Reviewed-by: Subbaraya Sundeep <sbhatta@marvell.com>
Link: https://patch.msgid.link/20250617014555.434790-2-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c

index 44199855ebfb965c42630d0e6f6d40bcfe96ff40..528ce9ca4f54ad42702dfd62d154bb032a1ff27b 100644 (file)
@@ -3318,8 +3318,11 @@ static int bnx2x_set_phys_id(struct net_device *dev,
        return 0;
 }
 
-static int bnx2x_get_rss_flags(struct bnx2x *bp, struct ethtool_rxnfc *info)
+static int bnx2x_get_rxfh_fields(struct net_device *dev,
+                                struct ethtool_rxfh_fields *info)
 {
+       struct bnx2x *bp = netdev_priv(dev);
+
        switch (info->flow_type) {
        case TCP_V4_FLOW:
        case TCP_V6_FLOW:
@@ -3361,20 +3364,21 @@ static int bnx2x_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *info,
        case ETHTOOL_GRXRINGS:
                info->data = BNX2X_NUM_ETH_QUEUES(bp);
                return 0;
-       case ETHTOOL_GRXFH:
-               return bnx2x_get_rss_flags(bp, info);
        default:
                DP(BNX2X_MSG_ETHTOOL, "Command parameters not supported\n");
                return -EOPNOTSUPP;
        }
 }
 
-static int bnx2x_set_rss_flags(struct bnx2x *bp, struct ethtool_rxnfc *info)
+static int bnx2x_set_rxfh_fields(struct net_device *dev,
+                                const struct ethtool_rxfh_fields *info,
+                                struct netlink_ext_ack *extack)
 {
+       struct bnx2x *bp = netdev_priv(dev);
        int udp_rss_requested;
 
        DP(BNX2X_MSG_ETHTOOL,
-          "Set rss flags command parameters: flow type = %d, data = %llu\n",
+          "Set rss flags command parameters: flow type = %d, data = %u\n",
           info->flow_type, info->data);
 
        switch (info->flow_type) {
@@ -3460,19 +3464,6 @@ static int bnx2x_set_rss_flags(struct bnx2x *bp, struct ethtool_rxnfc *info)
        }
 }
 
-static int bnx2x_set_rxnfc(struct net_device *dev, struct ethtool_rxnfc *info)
-{
-       struct bnx2x *bp = netdev_priv(dev);
-
-       switch (info->cmd) {
-       case ETHTOOL_SRXFH:
-               return bnx2x_set_rss_flags(bp, info);
-       default:
-               DP(BNX2X_MSG_ETHTOOL, "Command parameters not supported\n");
-               return -EOPNOTSUPP;
-       }
-}
-
 static u32 bnx2x_get_rxfh_indir_size(struct net_device *dev)
 {
        return T_ETH_INDIRECTION_TABLE_SIZE;
@@ -3684,10 +3675,11 @@ static const struct ethtool_ops bnx2x_ethtool_ops = {
        .set_phys_id            = bnx2x_set_phys_id,
        .get_ethtool_stats      = bnx2x_get_ethtool_stats,
        .get_rxnfc              = bnx2x_get_rxnfc,
-       .set_rxnfc              = bnx2x_set_rxnfc,
        .get_rxfh_indir_size    = bnx2x_get_rxfh_indir_size,
        .get_rxfh               = bnx2x_get_rxfh,
        .set_rxfh               = bnx2x_set_rxfh,
+       .get_rxfh_fields        = bnx2x_get_rxfh_fields,
+       .set_rxfh_fields        = bnx2x_set_rxfh_fields,
        .get_channels           = bnx2x_get_channels,
        .set_channels           = bnx2x_set_channels,
        .get_module_info        = bnx2x_get_module_info,
@@ -3711,10 +3703,11 @@ static const struct ethtool_ops bnx2x_vf_ethtool_ops = {
        .get_strings            = bnx2x_get_strings,
        .get_ethtool_stats      = bnx2x_get_ethtool_stats,
        .get_rxnfc              = bnx2x_get_rxnfc,
-       .set_rxnfc              = bnx2x_set_rxnfc,
        .get_rxfh_indir_size    = bnx2x_get_rxfh_indir_size,
        .get_rxfh               = bnx2x_get_rxfh,
        .set_rxfh               = bnx2x_set_rxfh,
+       .get_rxfh_fields        = bnx2x_get_rxfh_fields,
+       .set_rxfh_fields        = bnx2x_set_rxfh_fields,
        .get_channels           = bnx2x_get_channels,
        .set_channels           = bnx2x_set_channels,
        .get_link_ksettings     = bnx2x_get_vf_link_ksettings,