OSDN Git Service

nfp: let core reject the unsupported coalescing parameters
authorJakub Kicinski <kuba@kernel.org>
Thu, 5 Mar 2020 05:15:35 +0000 (21:15 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Mar 2020 20:12:35 +0000 (12:12 -0800)
Set ethtool_ops->supported_coalesce_params to let
the core reject unsupported coalescing parameters.

This driver correctly rejects all unsupported parameters.
No functional changes.

v3: adjust commit message for new error code and member name

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c

index d648e32..2779f15 100644 (file)
@@ -1343,26 +1343,6 @@ static int nfp_net_set_coalesce(struct net_device *netdev,
        struct nfp_net *nn = netdev_priv(netdev);
        unsigned int factor;
 
-       if (ec->rx_coalesce_usecs_irq ||
-           ec->rx_max_coalesced_frames_irq ||
-           ec->tx_coalesce_usecs_irq ||
-           ec->tx_max_coalesced_frames_irq ||
-           ec->stats_block_coalesce_usecs ||
-           ec->use_adaptive_rx_coalesce ||
-           ec->use_adaptive_tx_coalesce ||
-           ec->pkt_rate_low ||
-           ec->rx_coalesce_usecs_low ||
-           ec->rx_max_coalesced_frames_low ||
-           ec->tx_coalesce_usecs_low ||
-           ec->tx_max_coalesced_frames_low ||
-           ec->pkt_rate_high ||
-           ec->rx_coalesce_usecs_high ||
-           ec->rx_max_coalesced_frames_high ||
-           ec->tx_coalesce_usecs_high ||
-           ec->tx_max_coalesced_frames_high ||
-           ec->rate_sample_interval)
-               return -EOPNOTSUPP;
-
        /* Compute factor used to convert coalesce '_usecs' parameters to
         * ME timestamp ticks.  There are 16 ME clock cycles for each timestamp
         * count.
@@ -1476,6 +1456,8 @@ static int nfp_net_set_channels(struct net_device *netdev,
 }
 
 static const struct ethtool_ops nfp_net_ethtool_ops = {
+       .supported_coalesce_params = ETHTOOL_COALESCE_USECS |
+                                    ETHTOOL_COALESCE_MAX_FRAMES,
        .get_drvinfo            = nfp_net_get_drvinfo,
        .get_link               = ethtool_op_get_link,
        .get_ringparam          = nfp_net_get_ringparam,