mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
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:
parent
17da66f140
commit
20ffe3bbc2
1 changed files with 24 additions and 12 deletions
|
@ -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,
|
||||
|
|
Loading…
Add table
Reference in a new issue