Skip to content

Commit

Permalink
sh: Cleanup whitespace damage in sh4_flush_icache_range().
Browse files Browse the repository at this point in the history
There was quite a lot of tab->space damage done here from a former patch,
clean it up once and for all.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
  • Loading branch information
Paul Mundt committed Sep 9, 2009
1 parent 1043bf5 commit 682f88a
Showing 1 changed file with 33 additions and 30 deletions.
63 changes: 33 additions & 30 deletions arch/sh/mm/cache-sh4.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,44 +46,47 @@ static void (*__flush_dcache_segment_fn)(unsigned long, unsigned long) =
static void sh4_flush_icache_range(void *args)
{
struct flusher_data *data = args;
int icacheaddr;
unsigned long start, end;
unsigned long flags, v;
int i;

start = data->addr1;
end = data->addr2;

/* If there are too many pages then just blow the caches */
if (((end - start) >> PAGE_SHIFT) >= MAX_ICACHE_PAGES) {
local_flush_cache_all(args);
} else {
/* selectively flush d-cache then invalidate the i-cache */
/* this is inefficient, so only use for small ranges */
start &= ~(L1_CACHE_BYTES-1);
end += L1_CACHE_BYTES-1;
end &= ~(L1_CACHE_BYTES-1);

local_irq_save(flags);
jump_to_uncached();

for (v = start; v < end; v+=L1_CACHE_BYTES) {
asm volatile("ocbwb %0"
: /* no output */
: "m" (__m(v)));

icacheaddr = CACHE_IC_ADDRESS_ARRAY | (
v & cpu_data->icache.entry_mask);

for (i = 0; i < cpu_data->icache.ways;
i++, icacheaddr += cpu_data->icache.way_incr)
/* Clear i-cache line valid-bit */
ctrl_outl(0, icacheaddr);
}

back_to_cached();
local_irq_restore(flags);
/* If there are too many pages then just blow away the caches */
if (((end - start) >> PAGE_SHIFT) >= MAX_ICACHE_PAGES) {
local_flush_cache_all(NULL);
return;
}

/*
* Selectively flush d-cache then invalidate the i-cache.
* This is inefficient, so only use this for small ranges.
*/
start &= ~(L1_CACHE_BYTES-1);
end += L1_CACHE_BYTES-1;
end &= ~(L1_CACHE_BYTES-1);

local_irq_save(flags);
jump_to_uncached();

for (v = start; v < end; v += L1_CACHE_BYTES) {
unsigned long icacheaddr;

__ocbwb(v);

icacheaddr = CACHE_IC_ADDRESS_ARRAY | (v &
cpu_data->icache.entry_mask);

/* Clear i-cache line valid-bit */
for (i = 0; i < cpu_data->icache.ways; i++) {
__raw_writel(0, icacheaddr);
icacheaddr += cpu_data->icache.way_incr;
}
}

back_to_cached();
local_irq_restore(flags);
}

static inline void flush_cache_4096(unsigned long start,
Expand Down

0 comments on commit 682f88a

Please sign in to comment.