[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: Kyle McMartin <kyle@parisc-linux.org>
This commit is contained in:
committed by
Kyle McMartin
parent
fabb8ff4ff
commit
03b18f1b2a
@@ -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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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
|
||||||
|
Reference in New Issue
Block a user