eth: dpaa2: migrate to new RXFH callbacks

Migrate to new callbacks added by commit 9bb00786fc ("net: ethtool:
add dedicated callbacks for getting and setting rxfh fields").

Reviewed-by: Joe Damato <joe@dama.to>
Link: https://patch.msgid.link/20250617014848.436741-5-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Jakub Kicinski 2025-06-16 18:48:47 -07:00
parent 17da66f140
commit 20ffe3bbc2

View file

@ -719,13 +719,6 @@ static int dpaa2_eth_get_rxnfc(struct net_device *net_dev,
int i, j = 0;
switch (rxnfc->cmd) {
case ETHTOOL_GRXFH:
/* we purposely ignore cmd->flow_type for now, because the
* classifier only supports a single set of fields for all
* protocols
*/
rxnfc->data = priv->rx_hash_fields;
break;
case ETHTOOL_GRXRINGS:
rxnfc->data = dpaa2_eth_queue_count(priv);
break;
@ -767,11 +760,6 @@ static int dpaa2_eth_set_rxnfc(struct net_device *net_dev,
int err = 0;
switch (rxnfc->cmd) {
case ETHTOOL_SRXFH:
if ((rxnfc->data & DPAA2_RXH_SUPPORTED) != rxnfc->data)
return -EOPNOTSUPP;
err = dpaa2_eth_set_hash(net_dev, rxnfc->data);
break;
case ETHTOOL_SRXCLSRLINS:
err = dpaa2_eth_update_cls_rule(net_dev, &rxnfc->fs, rxnfc->fs.location);
break;
@ -785,6 +773,28 @@ static int dpaa2_eth_set_rxnfc(struct net_device *net_dev,
return err;
}
static int dpaa2_eth_get_rxfh_fields(struct net_device *net_dev,
struct ethtool_rxfh_fields *rxnfc)
{
struct dpaa2_eth_priv *priv = netdev_priv(net_dev);
/* we purposely ignore cmd->flow_type for now, because the
* classifier only supports a single set of fields for all
* protocols
*/
rxnfc->data = priv->rx_hash_fields;
return 0;
}
static int dpaa2_eth_set_rxfh_fields(struct net_device *net_dev,
const struct ethtool_rxfh_fields *rxnfc,
struct netlink_ext_ack *extack)
{
if ((rxnfc->data & DPAA2_RXH_SUPPORTED) != rxnfc->data)
return -EOPNOTSUPP;
return dpaa2_eth_set_hash(net_dev, rxnfc->data);
}
int dpaa2_phc_index = -1;
EXPORT_SYMBOL(dpaa2_phc_index);
@ -939,6 +949,8 @@ const struct ethtool_ops dpaa2_ethtool_ops = {
.get_strings = dpaa2_eth_get_strings,
.get_rxnfc = dpaa2_eth_get_rxnfc,
.set_rxnfc = dpaa2_eth_set_rxnfc,
.get_rxfh_fields = dpaa2_eth_get_rxfh_fields,
.set_rxfh_fields = dpaa2_eth_set_rxfh_fields,
.get_ts_info = dpaa2_eth_get_ts_info,
.get_tunable = dpaa2_eth_get_tunable,
.set_tunable = dpaa2_eth_set_tunable,