Commit 7c294515 authored by Stefan Chulski's avatar Stefan Chulski Committed by David S. Miller
Browse files

net: mvpp2: reduce tx-fifo for loopback port



1KB is enough for loopback port, so 2KB can be distributed
between other ports.

Signed-off-by: default avatarStefan Chulski <stefanc@marvell.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8841f6e6
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -763,9 +763,9 @@
#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)
+5 −5
Original line number Diff line number Diff line
@@ -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) {