aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Simek2012-10-17 04:03:40 -0500
committerMichal Simek2013-04-30 04:39:14 -0500
commit986f00003ce9cfdceca2f49068b8d443316501d3 (patch)
tree5b35e5fcfeb4bc63da7795e9db1222935d2afb49 /drivers
parent1415107e46460f988e19a5fc59e18f368e72ef19 (diff)
downloadu-boot-986f00003ce9cfdceca2f49068b8d443316501d3.tar.gz
u-boot-986f00003ce9cfdceca2f49068b8d443316501d3.tar.xz
u-boot-986f00003ce9cfdceca2f49068b8d443316501d3.zip
net: gem: Remove WRAP bit from TX buffer description
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> Reviewed-by: Tom Rini <trini@ti.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/zynq_gem.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/zynq_gem.c b/drivers/net/zynq_gem.c
index 3596065694..7188b9ee0e 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)
310 memset((void *) &(priv->tx_bd), 0, sizeof(struct emac_bd)); 310 memset((void *) &(priv->tx_bd), 0, sizeof(struct emac_bd));
311 311
312 priv->tx_bd.addr = (u32)ptr; 312 priv->tx_bd.addr = (u32)ptr;
313 priv->tx_bd.status = len | ZYNQ_GEM_TXBUF_LAST_MASK | 313 priv->tx_bd.status = len | ZYNQ_GEM_TXBUF_LAST_MASK;
314 ZYNQ_GEM_TXBUF_WRAP_MASK;
315 314
316 /* Start transmit */ 315 /* Start transmit */
317 setbits_le32(&regs->nwctrl, ZYNQ_GEM_NWCTRL_STARTTX_MASK); 316 setbits_le32(&regs->nwctrl, ZYNQ_GEM_NWCTRL_STARTTX_MASK);