Thread (1 message) 1 message, 1 author, 2010-03-15

RE: [PATCH] [V2] Add non-Virtex5 support for LL TEMAC driver

From: John Linn <hidden>
Date: 2010-03-15 17:23:24
Also in: netdev

-----Original Message-----
From: Stephen Neuendorffer
Sent: Monday, March 15, 2010 11:03 AM
To: John Linn; netdev@vger.kernel.org; linuxppc-dev@ozlabs.org;
grant.likely@secretlab.ca;
jwboyer@linux.vnet.ibm.com
Cc: michal.simek@petalogix.com; John Tyner;
john.williams@petalogix.com
Subject: RE: [PATCH] [V2] Add non-Virtex5 support for LL TEMAC driver
=
=
=
quoted
-----Original Message-----
From:
linuxppc-dev-bounces+stephen=3Dneuendorffer.name@lists.ozlabs.org
[mailto:linuxppc-dev-
quoted
bounces+stephen=3Dneuendorffer.name@lists.ozlabs.org] On Behalf Of
John Linn
quoted
Sent: Friday, March 12, 2010 5:06 PM
To: netdev@vger.kernel.org; linuxppc-dev@ozlabs.org;
grant.likely@secretlab.ca;
quoted
jwboyer@linux.vnet.ibm.com
Cc: michal.simek@petalogix.com; John Tyner; John Linn;
john.williams@petalogix.com
quoted
Subject: [PATCH] [V2] Add non-Virtex5 support for LL TEMAC driver

This patch adds support for using the LL TEMAC Ethernet driver on
non-Virtex 5 platforms by adding support for accessing the Soft DMA
registers as if they were memory mapped instead of solely through
the
quoted
DCR's (available on the Virtex 5).

The patch also updates the driver so that it runs on the MicroBlaze.
The changes were tested on the PowerPC 440, PowerPC 405, and the
MicroBlaze platforms.

Signed-off-by: John Tyner <redacted>
Signed-off-by: John Linn <redacted>
---

V2 - Incorporated comments from Grant and added more logic to allow
the driver
quoted
to work on MicroBlaze.

 drivers/net/Kconfig         |    1 -
 drivers/net/ll_temac.h      |   17 +++++-
 drivers/net/ll_temac_main.c |  124
++++++++++++++++++++++++++++++++++---------
quoted
 3 files changed, 113 insertions(+), 29 deletions(-)
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 9b6efe1..5402105 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -2443,7 +2443,6 @@ config MV643XX_ETH
 config XILINX_LL_TEMAC
 	tristate "Xilinx LL TEMAC (LocalLink Tri-mode Ethernet MAC)
driver"
quoted
 	select PHYLIB
-	depends on PPC_DCR_NATIVE
 	help
 	  This driver supports the Xilinx 10/100/1000 LocalLink TEMAC
 	  core used in Xilinx Spartan and Virtex FPGAs
diff --git a/drivers/net/ll_temac.h b/drivers/net/ll_temac.h
index 1af66a1..915aa34 100644
--- a/drivers/net/ll_temac.h
+++ b/drivers/net/ll_temac.h
@@ -5,8 +5,11 @@
 #include <linux/netdevice.h>
 #include <linux/of.h>
 #include <linux/spinlock.h>
+
+#ifdef CONFIG_PPC_DCR
 #include <asm/dcr.h>
 #include <asm/dcr-regs.h>
+#endif

 /* packet size info */
 #define XTE_HDR_SIZE			14      /* size of
Ethernet header */
quoted
@@ -290,8 +293,12 @@ This option defaults to enabled (set) */

 #define TX_CONTROL_CALC_CSUM_MASK   1

+/* Align the IP data in the packet on word boundaries as MicroBlaze
+ * needs it.
+ */
+
 #define XTE_ALIGN       32
-#define BUFFER_ALIGN(adr) ((XTE_ALIGN - ((u32) adr)) % XTE_ALIGN)
+#define BUFFER_ALIGN(adr) ((34 - ((u32) adr)) % XTE_ALIGN)
=
Is '34' really XTE_ALIGN + 2?  (I really have no idea.... it just
looks like a suspicious change.)
=
Steve
Valid point that it is XTE_ALIGN + 2. As the comment says, it aligns the
IP data in the packet.

-- John

This email and any attachments are intended for the sole use of the named r=
ecipient(s) and contain(s) confidential information that may be proprietary=
, privileged or copyrighted under applicable law. If you are not the intend=
ed recipient, do not read, copy, or forward this email message or any attac=
hments. Delete this email message and any attachments immediately.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help