| From b3344ca9ef887c4004c61be39f7d8d058a569d4d Mon Sep 17 00:00:00 2001 |
| From: Phil Elwell <phil@raspberrypi.org> |
| Date: Wed, 27 Mar 2019 13:45:46 +0000 |
| Subject: [PATCH] bcmgenet: Better coalescing parameter defaults |
| |
| Set defaults for TX and RX packet coalescing to be equivalent to: |
| |
| # ethtool -C eth0 tx-frames 10 |
| # ethtool -C eth0 rx-usecs 50 |
| |
| This may be something we want to set via DT parameters in the |
| future. |
| |
| Signed-off-by: Phil Elwell <phil@raspberrypi.org> |
| --- |
| drivers/net/ethernet/broadcom/genet/bcmgenet.c | 7 +++++-- |
| 1 file changed, 5 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c |
| +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c |
| @@ -2165,7 +2165,7 @@ static void bcmgenet_init_tx_ring(struct |
| |
| bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX); |
| bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX); |
| - bcmgenet_tdma_ring_writel(priv, index, 1, DMA_MBUF_DONE_THRESH); |
| + bcmgenet_tdma_ring_writel(priv, index, 10, DMA_MBUF_DONE_THRESH); |
| /* Disable rate control for now */ |
| bcmgenet_tdma_ring_writel(priv, index, flow_period_val, |
| TDMA_FLOW_PERIOD); |
| @@ -3591,9 +3591,12 @@ static int bcmgenet_probe(struct platfor |
| netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1); |
| |
| /* Set default coalescing parameters */ |
| - for (i = 0; i < priv->hw_params->rx_queues; i++) |
| + for (i = 0; i < priv->hw_params->rx_queues; i++) { |
| priv->rx_rings[i].rx_max_coalesced_frames = 1; |
| + priv->rx_rings[i].rx_coalesce_usecs = 50; |
| + } |
| priv->rx_rings[DESC_INDEX].rx_max_coalesced_frames = 1; |
| + priv->rx_rings[DESC_INDEX].rx_coalesce_usecs = 50; |
| |
| /* libphy will determine the link state */ |
| netif_carrier_off(dev); |