net: mvpp2: reduce tx-fifo for loopback port
authorStefan Chulski <stefanc@marvell.com>
Sun, 14 Feb 2021 14:10:03 +0000 (16:10 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 15 Feb 2021 21:36:11 +0000 (13:36 -0800)
1KB is enough for loopback port, so 2KB can be distributed
between other ports.

Signed-off-by: Stefan Chulski <stefanc@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvpp2/mvpp2.h
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c

index 373ede3..8edba5e 100644 (file)
 #define MVPP2_RX_FIFO_PORT_MIN_PKT             0x80
 
 /* TX FIFO constants */
-#define MVPP22_TX_FIFO_DATA_SIZE_16KB          16
+#define MVPP22_TX_FIFO_DATA_SIZE_18KB          18
 #define MVPP22_TX_FIFO_DATA_SIZE_10KB          10
-#define MVPP22_TX_FIFO_DATA_SIZE_3KB           3
+#define MVPP22_TX_FIFO_DATA_SIZE_1KB           1
 #define MVPP2_TX_FIFO_THRESHOLD_MIN            256 /* Bytes */
 #define MVPP2_TX_FIFO_THRESHOLD(kb)    \
                ((kb) * 1024 - MVPP2_TX_FIFO_THRESHOLD_MIN)
index d167cfd..ba18782 100644 (file)
@@ -7093,8 +7093,8 @@ static void mvpp22_tx_fifo_set_hw(struct mvpp2 *priv, int port, int size)
 }
 
 /* Initialize TX FIFO's: the total FIFO size is 19kB on PPv2.2 and PPv2.3.
- * 3kB fixed space must be assigned for the loopback port.
- * Redistribute remaining avialable 16kB space among all active ports.
+ * 1kB fixed space must be assigned for the loopback port.
+ * Redistribute remaining avialable 18kB space among all active ports.
  * The 10G interface should use 10kB (which is maximum possible size
  * per single port).
  */
@@ -7105,9 +7105,9 @@ static void mvpp22_tx_fifo_init(struct mvpp2 *priv)
        int size_remainder;
        int port, size;
 
-       /* The loopback requires fixed 3kB of the FIFO space assignment. */
+       /* The loopback requires fixed 1kB of the FIFO space assignment. */
        mvpp22_tx_fifo_set_hw(priv, MVPP2_LOOPBACK_PORT_INDEX,
-                             MVPP22_TX_FIFO_DATA_SIZE_3KB);
+                             MVPP22_TX_FIFO_DATA_SIZE_1KB);
        port_map = priv->port_map & ~BIT(MVPP2_LOOPBACK_PORT_INDEX);
 
        /* Set TX FIFO size to 0 for inactive ports. */
@@ -7115,7 +7115,7 @@ static void mvpp22_tx_fifo_init(struct mvpp2 *priv)
                mvpp22_tx_fifo_set_hw(priv, port, 0);
 
        /* Assign remaining TX FIFO space among all active ports. */
-       size_remainder = MVPP22_TX_FIFO_DATA_SIZE_16KB;
+       size_remainder = MVPP22_TX_FIFO_DATA_SIZE_18KB;
        remaining_ports_count = hweight_long(port_map);
 
        for_each_set_bit(port, &port_map, MVPP2_LOOPBACK_PORT_INDEX) {