Merge git://git.infradead.org/users/dwmw2/spectra-2.6 into work
[firefly-linux-kernel-4.4.55.git] / arch / microblaze / include / asm / system.h
index 59efb3fef9577d93d83ad2bf6ce7a15ab8128144..48c4f0335e3f51b74413a93783da6f1fb8f0970d 100644 (file)
@@ -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 */