Skip to content

Commit

Permalink
sh: Convert SH-2A to new cacheflush interface.
Browse files Browse the repository at this point in the history
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
  • Loading branch information
Paul Mundt committed Aug 15, 2009
1 parent 109b44a commit a58e1a2
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 34 deletions.
30 changes: 0 additions & 30 deletions arch/sh/include/cpu-sh2a/cpu/cacheflush.h

This file was deleted.

17 changes: 13 additions & 4 deletions arch/sh/mm/cache-sh2a.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#include <asm/cacheflush.h>
#include <asm/io.h>

void __flush_wback_region(void *start, int size)
static void sh2a__flush_wback_region(void *start, int size)
{
unsigned long v;
unsigned long begin, end;
Expand Down Expand Up @@ -44,7 +44,7 @@ void __flush_wback_region(void *start, int size)
local_irq_restore(flags);
}

void __flush_purge_region(void *start, int size)
static void sh2a__flush_purge_region(void *start, int size)
{
unsigned long v;
unsigned long begin, end;
Expand All @@ -65,7 +65,7 @@ void __flush_purge_region(void *start, int size)
local_irq_restore(flags);
}

void __flush_invalidate_region(void *start, int size)
static void sh2a__flush_invalidate_region(void *start, int size)
{
unsigned long v;
unsigned long begin, end;
Expand Down Expand Up @@ -97,7 +97,7 @@ void __flush_invalidate_region(void *start, int size)
}

/* WBack O-Cache and flush I-Cache */
void flush_icache_range(unsigned long start, unsigned long end)
static void sh2a_flush_icache_range(unsigned long start, unsigned long end)
{
unsigned long v;
unsigned long flags;
Expand Down Expand Up @@ -127,3 +127,12 @@ void flush_icache_range(unsigned long start, unsigned long end)
back_to_cached();
local_irq_restore(flags);
}

void __init sh2a_cache_init(void)
{
flush_icache_range = sh2a_flush_icache_range;

__flush_wback_region = sh2a__flush_wback_region;
__flush_purge_region = sh2a__flush_purge_region;
__flush_invalidate_region = sh2a__flush_invalidate_region;
}
6 changes: 6 additions & 0 deletions arch/sh/mm/cache.c
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,12 @@ void __init cpu_cache_init(void)
sh2_cache_init();
}

if (boot_cpu_data.family == CPU_FAMILY_SH2A) {
extern void __weak sh2a_cache_init(void);

sh2a_cache_init();
}

if ((boot_cpu_data.family == CPU_FAMILY_SH4) ||
(boot_cpu_data.family == CPU_FAMILY_SH4A) ||
(boot_cpu_data.family == CPU_FAMILY_SH4AL_DSP)) {
Expand Down

0 comments on commit a58e1a2

Please sign in to comment.