]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
irqchip/bcm2836: Use a more generic memory barrier call
authorEric Anholt <eric@anholt.net>
Wed, 13 Apr 2016 20:28:43 +0000 (13:28 -0700)
committerMarc Zyngier <marc.zyngier@arm.com>
Wed, 11 May 2016 09:13:00 +0000 (10:13 +0100)
dsb() requires an argument on arm64, so we needed to add "sy".
Instead, take this opportunity to switch to the same smp_wmb() call
that gic uses for its IPIs.  This is a less strong barrier than we
were doing before (dmb(ishst) compared to dsb(sy)), but it seems to be
the correct one.

Signed-off-by: Eric Anholt <eric@anholt.net>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
drivers/irqchip/irq-bcm2836.c

index f8141bd392c12ff0b139fd7df7379e0b167af390..72ff1d5c5de67058f4ef22bb233c41b7c737d6e3 100644 (file)
@@ -195,7 +195,7 @@ static void bcm2836_arm_irqchip_send_ipi(const struct cpumask *mask,
         * Ensure that stores to normal memory are visible to the
         * other CPUs before issuing the IPI.
         */
-       dsb();
+       smp_wmb();
 
        for_each_cpu(cpu, mask) {
                writel(1 << ipi, mailbox0_base + 16 * cpu);