sh: do not perform IPI-based cache flush except on boards that need it
authorRich Felker <dalias@libc.org>
Mon, 15 Feb 2016 18:36:33 +0000 (18:36 +0000)
committerRich Felker <dalias@libc.org>
Fri, 5 Aug 2016 03:29:40 +0000 (03:29 +0000)
Signed-off-by: Rich Felker <dalias@libc.org>
arch/sh/mm/cache.c

index 70cc52f2fab82860b920978e7f1a6a16acdf3203..36554a9ea99b2b0f863b10eecb9f2ccb3db79bb7 100644 (file)
@@ -42,6 +42,8 @@ static inline void cacheop_on_each_cpu(void (*func) (void *info), void *info,
 {
        preempt_disable();
 
+       /* Needing IPI for cross-core flush is SHX3-specific. */
+#ifdef CONFIG_CPU_SHX3
        /*
         * It's possible that this gets called early on when IRQs are
         * still disabled due to ioremapping by the boot CPU, so don't
@@ -49,6 +51,7 @@ static inline void cacheop_on_each_cpu(void (*func) (void *info), void *info,
         */
        if (num_online_cpus() > 1)
                smp_call_function(func, info, wait);
+#endif
 
        func(info);