diff mbox

[U-Boot] xilinx_emaclite.c ping-pong macro names

Message ID 20110415124815.1253591nkjx5al4f@mail.unibe.ch
State Changes Requested
Headers show

Commit Message

alain.peteut@space.unibe.ch April 15, 2011, 10:48 a.m. UTC
Dear all,

The macro name configuring  Ping/Pong didn't match. It has been  
checked on a Spartan3e Starterkit.

Kind regards,
Alain

Comments

Wolfgang Denk April 15, 2011, 11:05 a.m. UTC | #1
Dear alain.peteut@space.unibe.ch,

In message <20110415124815.1253591nkjx5al4f@mail.unibe.ch> you wrote:
> 
> The macro name configuring  Ping/Pong didn't match. It has been  
> checked on a Spartan3e Starterkit.

This should probably be part of the commit message.


Your patch has a number of coding style issues: indentation not by
TAB, trailing white space, etc.  Please fix, then verify by ruinning
through checkpatch, and resubmit.

Thanks.

Best regards,

Wolfgang Denk
diff mbox

Patch

From 35b00080dd397dfa4d8dae2d84423c36a34fe061 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alain=20P=C3=A9teut?= <peteut@space.unibe.ch>
Date: Fri, 15 Apr 2011 12:44:37 +0200
Subject: [PATCH] xilinx_emaclite.c ping-pong fix
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit


Signed-off-by: Alain Péteut <peteut@space.unibe.ch>
---
 drivers/net/xilinx_emaclite.c |   21 ++++++++++++---------
 1 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c
index 76af939..523f41a 100644
--- a/drivers/net/xilinx_emaclite.c
+++ b/drivers/net/xilinx_emaclite.c
@@ -138,7 +138,9 @@  static int emaclite_init(struct eth_device *dev, bd_t *bis)
 	debug ("EmacLite Initialization Started\n");
 	memset (&emaclite, 0, sizeof (xemaclite));
 	emaclite.baseaddress = dev->iobase;
-
+  
+  emaclite.nexttxbuffertouse = 0;
+  emaclite.nextrxbuffertouse = 0;
 /*
  * TX - TX_PING & TX_PONG initialization
  */
@@ -155,12 +157,13 @@  static int emaclite_init(struct eth_device *dev, bd_t *bis)
 	while ((in_be32 (emaclite.baseaddress + XEL_TSR_OFFSET) &
 		XEL_TSR_PROG_MAC_ADDR) != 0) ;
 
-#ifdef CONFIG_XILINX_EMACLITE_TX_PING_PONG
+#ifdef XILINX_EMACLITE_TX_PING_PONG
 	/* The same operation with PONG TX */
 	out_be32 (emaclite.baseaddress + XEL_TSR_OFFSET + XEL_BUFFER_OFFSET, 0);
 	xemaclite_alignedwrite (dev->enetaddr, emaclite.baseaddress +
 		XEL_BUFFER_OFFSET, ENET_ADDR_LENGTH);
-	out_be32 (emaclite.baseaddress + XEL_TPLR_OFFSET, ENET_ADDR_LENGTH);
+	out_be32 (emaclite.baseaddress + XEL_TPLR_OFFSET + XEL_BUFFER_OFFSET, 
+    ENET_ADDR_LENGTH);
 	out_be32 (emaclite.baseaddress + XEL_TSR_OFFSET + XEL_BUFFER_OFFSET,
 		XEL_TSR_PROG_MAC_ADDR);
 	while ((in_be32 (emaclite.baseaddress + XEL_TSR_OFFSET +
@@ -172,7 +175,7 @@  static int emaclite_init(struct eth_device *dev, bd_t *bis)
  */
 	/* Write out the value to flush the RX buffer */
 	out_be32 (emaclite.baseaddress + XEL_RSR_OFFSET, XEL_RSR_RECV_IE_MASK);
-#ifdef CONFIG_XILINX_EMACLITE_RX_PING_PONG
+#ifdef XILINX_EMACLITE_RX_PING_PONG
 	out_be32 (emaclite.baseaddress + XEL_RSR_OFFSET + XEL_BUFFER_OFFSET,
 		XEL_RSR_RECV_IE_MASK);
 #endif
@@ -222,7 +225,7 @@  static int emaclite_send (struct eth_device *dev, volatile void *ptr, int len)
 		printf ("Error: Timeout waiting for ethernet TX buffer\n");
 		/* Restart PING TX */
 		out_be32 (emaclite.baseaddress + XEL_TSR_OFFSET, 0);
-#ifdef CONFIG_XILINX_EMACLITE_TX_PING_PONG
+#ifdef XILINX_EMACLITE_TX_PING_PONG
 		out_be32 (emaclite.baseaddress + XEL_TSR_OFFSET +
 		XEL_BUFFER_OFFSET, 0);
 #endif
@@ -238,7 +241,7 @@  static int emaclite_send (struct eth_device *dev, volatile void *ptr, int len)
 		&& ((in_be32 ((baseaddress) + XEL_TSR_OFFSET)
 			& XEL_TSR_XMIT_ACTIVE_MASK) == 0)) {
 
-#ifdef CONFIG_XILINX_EMACLITE_TX_PING_PONG
+#ifdef XILINX_EMACLITE_TX_PING_PONG
 		emaclite.nexttxbuffertouse ^= XEL_BUFFER_OFFSET;
 #endif
 		debug ("Send packet from 0x%x\n", baseaddress);
@@ -254,7 +257,7 @@  static int emaclite_send (struct eth_device *dev, volatile void *ptr, int len)
 		out_be32 (baseaddress + XEL_TSR_OFFSET, reg);
 		return 1;
 	}
-#ifdef CONFIG_XILINX_EMACLITE_TX_PING_PONG
+#ifdef XILINX_EMACLITE_TX_PING_PONG
 	/* Switch to second buffer */
 	baseaddress ^= XEL_BUFFER_OFFSET;
 	/* Determine if the expected buffer address is empty */
@@ -290,11 +293,11 @@  static int emaclite_recv(struct eth_device *dev)
 	reg = in_be32 (baseaddress + XEL_RSR_OFFSET);
 	debug ("Testing data at address 0x%x\n", baseaddress);
 	if ((reg & XEL_RSR_RECV_DONE_MASK) == XEL_RSR_RECV_DONE_MASK) {
-#ifdef CONFIG_XILINX_EMACLITE_RX_PING_PONG
+#ifdef XILINX_EMACLITE_RX_PING_PONG
 		emaclite.nextrxbuffertouse ^= XEL_BUFFER_OFFSET;
 #endif
 	} else {
-#ifndef CONFIG_XILINX_EMACLITE_RX_PING_PONG
+#ifndef XILINX_EMACLITE_RX_PING_PONG
 		debug ("No data was available - address 0x%x\n", baseaddress);
 		return 0;
 #else
-- 
1.7.2.5