aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/irqchip
diff options
context:
space:
mode:
authorJisheng Zhang <jszhang@marvell.com>2014-11-12 01:22:52 -0500
committerJason Cooper <jason@lakedaemon.net>2014-11-26 11:07:41 -0500
commit8876ce7d1cbaca495bd6dee96d371f98e9cfb1eb (patch)
tree2d9fa5146f139b5f73a05e464961b33ddb33a400 /drivers/irqchip
parent377df64a1676fe069be9d9555edd862459d6090b (diff)
irqchip: dw-apb-ictl: Always use use {readl|writel}_relaxed
There's no DMA at all, the device type memory attribute can ensure the operations order and relaxed version imply compiler barrier, so we are safe to use relaxed version to improve the performance a bit. Signed-off-by: Jisheng Zhang <jszhang@marvell.com> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Link: https://lkml.kernel.org/r/1415773374-4629-2-git-send-email-jszhang@marvell.com Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'drivers/irqchip')
-rw-r--r--drivers/irqchip/irq-dw-apb-ictl.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/irqchip/irq-dw-apb-ictl.c b/drivers/irqchip/irq-dw-apb-ictl.c
index 31e231e1f566..fcc338584bda 100644
--- a/drivers/irqchip/irq-dw-apb-ictl.c
+++ b/drivers/irqchip/irq-dw-apb-ictl.c
@@ -94,16 +94,16 @@ static int __init dw_apb_ictl_init(struct device_node *np,
94 */ 94 */
95 95
96 /* mask and enable all interrupts */ 96 /* mask and enable all interrupts */
97 writel(~0, iobase + APB_INT_MASK_L); 97 writel_relaxed(~0, iobase + APB_INT_MASK_L);
98 writel(~0, iobase + APB_INT_MASK_H); 98 writel_relaxed(~0, iobase + APB_INT_MASK_H);
99 writel(~0, iobase + APB_INT_ENABLE_L); 99 writel_relaxed(~0, iobase + APB_INT_ENABLE_L);
100 writel(~0, iobase + APB_INT_ENABLE_H); 100 writel_relaxed(~0, iobase + APB_INT_ENABLE_H);
101 101
102 reg = readl(iobase + APB_INT_ENABLE_H); 102 reg = readl_relaxed(iobase + APB_INT_ENABLE_H);
103 if (reg) 103 if (reg)
104 nrirqs = 32 + fls(reg); 104 nrirqs = 32 + fls(reg);
105 else 105 else
106 nrirqs = fls(readl(iobase + APB_INT_ENABLE_L)); 106 nrirqs = fls(readl_relaxed(iobase + APB_INT_ENABLE_L));
107 107
108 domain = irq_domain_add_linear(np, nrirqs, 108 domain = irq_domain_add_linear(np, nrirqs,
109 &irq_generic_chip_ops, NULL); 109 &irq_generic_chip_ops, NULL);