Skip to content

Commit

Permalink
net: ethtool: populate the default HDS params in the core
Browse files Browse the repository at this point in the history
The core has the current HDS config, it can pre-populate the values
for the drivers. While at it, remove the zero-setting in netdevsim.
Zero are the default values since the config is zalloc'ed.

Reviewed-by: Michael Chan <michael.chan@broadcom.com>
Link: https://patch.msgid.link/20250119020518.1962249-6-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  • Loading branch information
Jakub Kicinski committed Jan 20, 2025
1 parent e58263e commit 928459b
Showing 3 changed files with 4 additions and 6 deletions.
1 change: 0 additions & 1 deletion drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
Original file line number Diff line number Diff line change
@@ -835,7 +835,6 @@ static void bnxt_get_ringparam(struct net_device *dev,
ering->rx_jumbo_pending = bp->rx_agg_ring_size;
ering->tx_pending = bp->tx_ring_size;

kernel_ering->hds_thresh = dev->cfg->hds_thresh;
kernel_ering->hds_thresh_max = BNXT_HDS_THRESHOLD_MAX;
}

5 changes: 0 additions & 5 deletions drivers/net/netdevsim/ethtool.c
Original file line number Diff line number Diff line change
@@ -72,8 +72,6 @@ static void nsim_get_ringparam(struct net_device *dev,
struct netdevsim *ns = netdev_priv(dev);

memcpy(ring, &ns->ethtool.ring, sizeof(ns->ethtool.ring));
kernel_ring->tcp_data_split = dev->cfg->hds_config;
kernel_ring->hds_thresh = dev->cfg->hds_thresh;
kernel_ring->hds_thresh_max = NSIM_HDS_THRESHOLD_MAX;

if (kernel_ring->tcp_data_split == ETHTOOL_TCP_DATA_SPLIT_UNKNOWN)
@@ -190,9 +188,6 @@ static void nsim_ethtool_ring_init(struct netdevsim *ns)
ns->ethtool.ring.rx_jumbo_max_pending = 4096;
ns->ethtool.ring.rx_mini_max_pending = 4096;
ns->ethtool.ring.tx_max_pending = 4096;

ns->netdev->cfg->hds_config = ETHTOOL_TCP_DATA_SPLIT_UNKNOWN;
ns->netdev->cfg->hds_thresh = 0;
}

void nsim_ethtool_init(struct netdevsim *ns)
4 changes: 4 additions & 0 deletions net/ethtool/rings.c
Original file line number Diff line number Diff line change
@@ -39,6 +39,10 @@ static int rings_prepare_data(const struct ethnl_req_info *req_base,
ret = ethnl_ops_begin(dev);
if (ret < 0)
return ret;

data->kernel_ringparam.tcp_data_split = dev->cfg->hds_config;
data->kernel_ringparam.hds_thresh = dev->cfg->hds_thresh;

dev->ethtool_ops->get_ringparam(dev, &data->ringparam,
&data->kernel_ringparam, info->extack);
ethnl_ops_complete(dev);

0 comments on commit 928459b

Please sign in to comment.