Patchwork [U-Boot,v2,05/15] net: gem: Remove WRAP bit from TX buffer description

login
register
mail settings
Submitter Michal Simek
Date April 23, 2013, 10:46 a.m.
Message ID <c4ecd9624f701b82adfebe870f5f2131b8870e85.1366713845.git.michal.simek@xilinx.com>
Download mbox | patch
Permalink /patch/238867/
State Accepted
Delegated to: Michal Simek
Headers show

Comments

Michal Simek - April 23, 2013, 10:46 a.m.
From: Michal Simek <monstr@monstr.eu>

Removing this bit causes that frame is sent only once.
(With wrap big one packet has been sent several times
which dramatically decrease throughput)

TRM: (Table 16-3: Tx Buffer Descriptor Entry)

Signed-off-by: Michal Simek <monstr@monstr.eu>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---
Changes in v2: None

 drivers/net/zynq_gem.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--
1.8.2.1

Patch

diff --git a/drivers/net/zynq_gem.c b/drivers/net/zynq_gem.c
index 3596065..7188b9e 100644
--- a/drivers/net/zynq_gem.c
+++ b/drivers/net/zynq_gem.c
@@ -310,8 +310,7 @@  static int zynq_gem_send(struct eth_device *dev, void *ptr, int len)
 	memset((void *) &(priv->tx_bd), 0, sizeof(struct emac_bd));

 	priv->tx_bd.addr = (u32)ptr;
-	priv->tx_bd.status = len | ZYNQ_GEM_TXBUF_LAST_MASK |
-						ZYNQ_GEM_TXBUF_WRAP_MASK;
+	priv->tx_bd.status = len | ZYNQ_GEM_TXBUF_LAST_MASK;

 	/* Start transmit */
 	setbits_le32(&regs->nwctrl, ZYNQ_GEM_NWCTRL_STARTTX_MASK);