mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-19 05:38:00 +00:00
44 lines
1.7 KiB
Diff
44 lines
1.7 KiB
Diff
|
From 5fd7d805a76f03ba2a90d9f7a01842ad419cbc0a Mon Sep 17 00:00:00 2001
|
||
|
From: Phil Elwell <phil@raspberrypi.org>
|
||
|
Date: Wed, 27 Mar 2019 13:45:46 +0000
|
||
|
Subject: [PATCH 0158/1085] 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
|
||
|
@@ -2666,7 +2666,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);
|
||
|
@@ -4161,9 +4161,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);
|