diff options
author | John Linn | 2010-04-08 09:08:02 +0200 |
---|---|---|
committer | David S. Miller | 2010-04-13 10:33:44 +0200 |
commit | e44171f115de3dedf34064646206deb91549865f (patch) | |
tree | 94e7be7a6f9bbc6341a6915a12744ed451dcb75f /arch/microblaze/include/asm/system.h | |
parent | net: ll_temac: remove virt_to_bus call (diff) | |
download | kernel-qcow2-linux-e44171f115de3dedf34064646206deb91549865f.tar.gz kernel-qcow2-linux-e44171f115de3dedf34064646206deb91549865f.tar.xz kernel-qcow2-linux-e44171f115de3dedf34064646206deb91549865f.zip |
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
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 <jtyner@cs.ucr.edu>
Signed-off-by: John Linn <john.linn@xilinx.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/microblaze/include/asm/system.h')
-rw-r--r-- | arch/microblaze/include/asm/system.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/microblaze/include/asm/system.h b/arch/microblaze/include/asm/system.h index 59efb3fef957..48c4f0335e3f 100644 --- a/arch/microblaze/include/asm/system.h +++ b/arch/microblaze/include/asm/system.h @@ -12,6 +12,7 @@ #include <asm/registers.h> #include <asm/setup.h> #include <asm/irqflags.h> +#include <asm/cache.h> #include <asm-generic/cmpxchg.h> #include <asm-generic/cmpxchg-local.h> @@ -96,4 +97,14 @@ extern struct dentry *of_debugfs_root; #define arch_align_stack(x) (x) +/* + * MicroBlaze doesn't handle unaligned accesses in hardware. + * + * Based on this we force the IP header alignment in network drivers. + * We also modify NET_SKB_PAD to be a cacheline in size, thus maintaining + * cacheline alignment of buffers. + */ +#define NET_IP_ALIGN 2 +#define NET_SKB_PAD L1_CACHE_BYTES + #endif /* _ASM_MICROBLAZE_SYSTEM_H */ |