summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/cadence/macb.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/cadence/macb.h')
-rw-r--r--drivers/net/ethernet/cadence/macb.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cadence/macb.h
index 6cfff0b04d05..c003e9824025 100644
--- a/drivers/net/ethernet/cadence/macb.h
+++ b/drivers/net/ethernet/cadence/macb.h
@@ -422,19 +422,27 @@
<< GEM_##name##_OFFSET)) \
| GEM_BF(name, value))
+#ifdef CONFIG_AVR32
+#define cdneth_readl __raw_readl
+#define cdneth_writel __raw_writel
+#else
+#define cdneth_readl readl_relaxed
+#define cdneth_writel writel_relaxed
+#endif
+
/* Register access macros */
#define macb_readl(port,reg) \
- readl_relaxed((port)->regs + MACB_##reg)
+ cdneth_readl((port)->regs + MACB_##reg)
#define macb_writel(port,reg,value) \
- writel_relaxed((value), (port)->regs + MACB_##reg)
+ cdneth_writel((value), (port)->regs + MACB_##reg)
#define gem_readl(port, reg) \
- readl_relaxed((port)->regs + GEM_##reg)
+ cdneth_readl((port)->regs + GEM_##reg)
#define gem_writel(port, reg, value) \
- writel_relaxed((value), (port)->regs + GEM_##reg)
+ cdneth_writel((value), (port)->regs + GEM_##reg)
#define queue_readl(queue, reg) \
- readl_relaxed((queue)->bp->regs + (queue)->reg)
+ cdneth_readl((queue)->bp->regs + (queue)->reg)
#define queue_writel(queue, reg, value) \
- writel_relaxed((value), (queue)->bp->regs + (queue)->reg)
+ cdneth_writel((value), (queue)->bp->regs + (queue)->reg)
/* Conditional GEM/MACB macros. These perform the operation to the correct
* register dependent on whether the device is a GEM or a MACB. For registers