950-0179-bcmgenet-Better-coalescing-parameter-defaults.patch 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. From 8673f9820e4fad1c54f9e46f6a275170544c1963 Mon Sep 17 00:00:00 2001
  2. From: Phil Elwell <[email protected]>
  3. Date: Wed, 27 Mar 2019 13:45:46 +0000
  4. Subject: [PATCH] bcmgenet: Better coalescing parameter defaults
  5. Set defaults for TX and RX packet coalescing to be equivalent to:
  6. # ethtool -C eth0 tx-frames 10
  7. # ethtool -C eth0 rx-usecs 50
  8. This may be something we want to set via DT parameters in the
  9. future.
  10. Signed-off-by: Phil Elwell <[email protected]>
  11. ---
  12. drivers/net/ethernet/broadcom/genet/bcmgenet.c | 7 +++++--
  13. 1 file changed, 5 insertions(+), 2 deletions(-)
  14. --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
  15. +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
  16. @@ -2659,7 +2659,7 @@ static void bcmgenet_init_tx_ring(struct
  17. bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX);
  18. bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX);
  19. - bcmgenet_tdma_ring_writel(priv, index, 1, DMA_MBUF_DONE_THRESH);
  20. + bcmgenet_tdma_ring_writel(priv, index, 10, DMA_MBUF_DONE_THRESH);
  21. /* Disable rate control for now */
  22. bcmgenet_tdma_ring_writel(priv, index, flow_period_val,
  23. TDMA_FLOW_PERIOD);
  24. @@ -4140,9 +4140,12 @@ static int bcmgenet_probe(struct platfor
  25. netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1);
  26. /* Set default coalescing parameters */
  27. - for (i = 0; i < priv->hw_params->rx_queues; i++)
  28. + for (i = 0; i < priv->hw_params->rx_queues; i++) {
  29. priv->rx_rings[i].rx_max_coalesced_frames = 1;
  30. + priv->rx_rings[i].rx_coalesce_usecs = 50;
  31. + }
  32. priv->rx_rings[DESC_INDEX].rx_max_coalesced_frames = 1;
  33. + priv->rx_rings[DESC_INDEX].rx_coalesce_usecs = 50;
  34. /* libphy will determine the link state */
  35. netif_carrier_off(dev);