Commit 79f1c9da authored by Paul Mundt's avatar Paul Mundt
Browse files

sh: Convert SH-3 to new cacheflush interface.



Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent a58e1a2a
Loading
Loading
Loading
Loading
+15 −10
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@
 * SIZE: Size of the region.
 */

void __flush_wback_region(void *start, int size)
static void sh3__flush_wback_region(void *start, int size)
{
	unsigned long v, j;
	unsigned long begin, end;
@@ -71,7 +71,7 @@ void __flush_wback_region(void *start, int size)
 * START: Virtual Address (U0, P1, or P3)
 * SIZE: Size of the region.
 */
void __flush_purge_region(void *start, int size)
static void sh3__flush_purge_region(void *start, int size)
{
	unsigned long v;
	unsigned long begin, end;
@@ -90,11 +90,16 @@ void __flush_purge_region(void *start, int size)
	}
}

void __init sh3_cache_init(void)
{
	__flush_wback_region = sh3__flush_wback_region;
	__flush_purge_region = sh3__flush_purge_region;

	/*
	 * No write back please
	 *
 * Except I don't think there's any way to avoid the writeback. So we
 * just alias it to __flush_purge_region(). dwmw2.
	 * Except I don't think there's any way to avoid the writeback.
	 * So we just alias it to sh3__flush_purge_region(). dwmw2.
	 */
void __flush_invalidate_region(void *start, int size)
	__attribute__((alias("__flush_purge_region")));
	__flush_invalidate_region = sh3__flush_purge_region;
}
+6 −0
Original line number Diff line number Diff line
@@ -256,6 +256,12 @@ void __init cpu_cache_init(void)
		sh2a_cache_init();
	}

	if (boot_cpu_data.family == CPU_FAMILY_SH3) {
		extern void __weak sh3_cache_init(void);

		sh3_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)) {