Commit 03b18f1b authored by Kyle McMartin's avatar Kyle McMartin Committed by Kyle McMartin

[PARISC] Clean up sti_flush

sti_flush is supposed to flush the caches so we can execute the STI rom
we copied to memory. Anything more than flush_icache_range is overkill.

Fixes a missing symbol when built as a module.
Signed-off-by: default avatarKyle McMartin <kyle@parisc-linux.org>
parent fabb8ff4
...@@ -232,18 +232,14 @@ sti_bmove(struct sti_struct *sti, int src_y, int src_x, ...@@ -232,18 +232,14 @@ sti_bmove(struct sti_struct *sti, int src_y, int src_x,
} }
/* FIXME: Do we have another solution for this ? */ static void sti_flush(unsigned long start, unsigned long end)
static void sti_flush(unsigned long from, unsigned long len)
{ {
flush_data_cache(); flush_icache_range(start, end);
flush_kernel_dcache_range(from, len);
flush_icache_range(from, from+len);
} }
void __devinit void __devinit
sti_rom_copy(unsigned long base, unsigned long count, void *dest) sti_rom_copy(unsigned long base, unsigned long count, void *dest)
{ {
unsigned long dest_len = count;
unsigned long dest_start = (unsigned long) dest; unsigned long dest_start = (unsigned long) dest;
/* this still needs to be revisited (see arch/parisc/mm/init.c:246) ! */ /* this still needs to be revisited (see arch/parisc/mm/init.c:246) ! */
...@@ -260,7 +256,7 @@ sti_rom_copy(unsigned long base, unsigned long count, void *dest) ...@@ -260,7 +256,7 @@ sti_rom_copy(unsigned long base, unsigned long count, void *dest)
dest++; dest++;
} }
sti_flush(dest_start, dest_len); sti_flush(dest_start, (unsigned long)dest);
} }
...@@ -663,7 +659,6 @@ sti_bmode_font_raw(struct sti_cooked_font *f) ...@@ -663,7 +659,6 @@ sti_bmode_font_raw(struct sti_cooked_font *f)
static void __devinit static void __devinit
sti_bmode_rom_copy(unsigned long base, unsigned long count, void *dest) sti_bmode_rom_copy(unsigned long base, unsigned long count, void *dest)
{ {
unsigned long dest_len = count;
unsigned long dest_start = (unsigned long) dest; unsigned long dest_start = (unsigned long) dest;
while (count) { while (count) {
...@@ -672,7 +667,8 @@ sti_bmode_rom_copy(unsigned long base, unsigned long count, void *dest) ...@@ -672,7 +667,8 @@ sti_bmode_rom_copy(unsigned long base, unsigned long count, void *dest)
base += 4; base += 4;
dest++; dest++;
} }
sti_flush(dest_start, dest_len);
sti_flush(dest_start, (unsigned long)dest);
} }
static struct sti_rom * __devinit static struct sti_rom * __devinit
......
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