powerpc/85xx: Fix writing to spin table 'cpu-release-addr' on ppc64e
[firefly-linux-kernel-4.4.55.git] / arch / powerpc / platforms / 85xx / smp.c
index 5c91a992f02b82049a6dbdaf21dc2974501f8b22..0d00ff9d05a0b01f57bd260aac08cb3e6bd6820e 100644 (file)
@@ -91,10 +91,14 @@ smp_85xx_kick_cpu(int nr)
        while ((__secondary_hold_acknowledge != nr) && (++n < 1000))
                mdelay(1);
 #else
+       smp_generic_kick_cpu(nr);
+
        out_be64((u64 *)(bptr_vaddr + BOOT_ENTRY_ADDR_UPPER),
                __pa((u64)*((unsigned long long *) generic_secondary_smp_init)));
 
-       smp_generic_kick_cpu(nr);
+       if (!ioremappable)
+               flush_dcache_range((ulong)bptr_vaddr,
+                               (ulong)(bptr_vaddr + SIZE_BOOT_ENTRY));
 #endif
 
        local_irq_restore(flags);