> -----Original Message----- > From: Intel-wired-lan <[email protected]> On Behalf Of > Breno Leitao > Sent: Monday, November 24, 2025 7:19 PM > To: Lobakin, Aleksander <[email protected]>; Nguyen, Anthony L > <[email protected]>; Kitszel, Przemyslaw > <[email protected]>; Andrew Lunn <[email protected]>; David > S. Miller <[email protected]>; Eric Dumazet <[email protected]>; Jakub > Kicinski <[email protected]>; Paolo Abeni <[email protected]> > Cc: [email protected]; [email protected]; > Fijalkowski, Maciej <[email protected]>; intel-wired- > [email protected]; [email protected]; [email protected]; > [email protected]; Breno Leitao <[email protected]> > Subject: [Intel-wired-lan] [PATCH net-next 3/8] ice: extract GRXRINGS from > .get_rxnfc > > Commit 84eaf4359c36 ("net: ethtool: add get_rx_ring_count callback to > optimize RX ring queries") added specific support for GRXRINGS callback, > simplifying .get_rxnfc. > > Remove the handling of GRXRINGS in .get_rxnfc() by moving it to the new > .get_rx_ring_count(). > > This simplifies the RX ring count retrieval and aligns ice with the new > ethtool API for querying RX ring parameters. > > Signed-off-by: Breno Leitao <[email protected]> > --- > drivers/net/ethernet/intel/ice/ice_ethtool.c | 19 +++++++++++++++---- > 1 file changed, 15 insertions(+), 4 deletions(-) > > diff --git a/drivers/net/ethernet/intel/ice/ice_ethtool.c > b/drivers/net/ethernet/intel/ice/ice_ethtool.c > index a1d9abee97e5..adb6e10ccb1b 100644 > --- a/drivers/net/ethernet/intel/ice/ice_ethtool.c > +++ b/drivers/net/ethernet/intel/ice/ice_ethtool.c > @@ -3083,6 +3083,20 @@ static int ice_set_rxnfc(struct net_device *netdev, > struct ethtool_rxnfc *cmd) > return -EOPNOTSUPP; > } > > +/** > + * ice_get_rx_ring_count - get RX ring count > + * @netdev: network interface device structure > + * > + * Returns the number of RX rings. > + */ > +static u32 ice_get_rx_ring_count(struct net_device *netdev) { > + struct ice_netdev_priv *np = netdev_priv(netdev); > + struct ice_vsi *vsi = np->vsi; > + > + return vsi->rss_size; > +} > + > /** > * ice_get_rxnfc - command to get Rx flow classification rules > * @netdev: network interface device structure @@ -3103,10 +3117,6 @@ > ice_get_rxnfc(struct net_device *netdev, struct ethtool_rxnfc *cmd, > hw = &vsi->back->hw; > > switch (cmd->cmd) { > - case ETHTOOL_GRXRINGS: > - cmd->data = vsi->rss_size; > - ret = 0; > - break; > case ETHTOOL_GRXCLSRLCNT: > cmd->rule_cnt = hw->fdir_active_fltr; > /* report total rule count */ > @@ -4853,6 +4863,7 @@ static const struct ethtool_ops ice_ethtool_ops = { > .get_sset_count = ice_get_sset_count, > .get_rxnfc = ice_get_rxnfc, > .set_rxnfc = ice_set_rxnfc, > + .get_rx_ring_count = ice_get_rx_ring_count, > .get_ringparam = ice_get_ringparam, > .set_ringparam = ice_set_ringparam, > .nway_reset = ice_nway_reset, > > -- > 2.47.3
Signed-off-by: Aleksandr Loktionov <[email protected]>
