Commit 109b44a8 authored by Paul Mundt's avatar Paul Mundt

sh: Convert SH-2 to new cacheflush interface.

Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 37443ef3
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
#include <asm/cacheflush.h> #include <asm/cacheflush.h>
#include <asm/io.h> #include <asm/io.h>
void __flush_wback_region(void *start, int size) static void sh2__flush_wback_region(void *start, int size)
{ {
unsigned long v; unsigned long v;
unsigned long begin, end; unsigned long begin, end;
...@@ -37,7 +37,7 @@ void __flush_wback_region(void *start, int size) ...@@ -37,7 +37,7 @@ void __flush_wback_region(void *start, int size)
} }
} }
void __flush_purge_region(void *start, int size) static void sh2__flush_purge_region(void *start, int size)
{ {
unsigned long v; unsigned long v;
unsigned long begin, end; unsigned long begin, end;
...@@ -51,7 +51,7 @@ void __flush_purge_region(void *start, int size) ...@@ -51,7 +51,7 @@ void __flush_purge_region(void *start, int size)
CACHE_OC_ADDRESS_ARRAY | (v & 0x00000ff0) | 0x00000008); CACHE_OC_ADDRESS_ARRAY | (v & 0x00000ff0) | 0x00000008);
} }
void __flush_invalidate_region(void *start, int size) static void sh2__flush_invalidate_region(void *start, int size)
{ {
#ifdef CONFIG_CACHE_WRITEBACK #ifdef CONFIG_CACHE_WRITEBACK
/* /*
...@@ -82,3 +82,10 @@ void __flush_invalidate_region(void *start, int size) ...@@ -82,3 +82,10 @@ void __flush_invalidate_region(void *start, int size)
CACHE_OC_ADDRESS_ARRAY | (v & 0x00000ff0) | 0x00000008); CACHE_OC_ADDRESS_ARRAY | (v & 0x00000ff0) | 0x00000008);
#endif #endif
} }
void __init sh2_cache_init(void)
{
__flush_wback_region = sh2__flush_wback_region;
__flush_purge_region = sh2__flush_purge_region;
__flush_invalidate_region = sh2__flush_invalidate_region;
}
...@@ -244,6 +244,12 @@ void __init cpu_cache_init(void) ...@@ -244,6 +244,12 @@ void __init cpu_cache_init(void)
__flush_purge_region = noop__flush_region; __flush_purge_region = noop__flush_region;
__flush_invalidate_region = noop__flush_region; __flush_invalidate_region = noop__flush_region;
if (boot_cpu_data.family == CPU_FAMILY_SH2) {
extern void __weak sh2_cache_init(void);
sh2_cache_init();
}
if ((boot_cpu_data.family == CPU_FAMILY_SH4) || if ((boot_cpu_data.family == CPU_FAMILY_SH4) ||
(boot_cpu_data.family == CPU_FAMILY_SH4A) || (boot_cpu_data.family == CPU_FAMILY_SH4A) ||
(boot_cpu_data.family == CPU_FAMILY_SH4AL_DSP)) { (boot_cpu_data.family == CPU_FAMILY_SH4AL_DSP)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment