aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/kernel/fiq.c
diff options
context:
space:
mode:
authorKevin Hilman <khilman@linaro.org>2015-09-14 14:16:54 -0700
committerKevin Hilman <khilman@linaro.org>2015-09-14 14:16:54 -0700
commit0e4f19b4e5d6c4801d0ee2c26a5850de1b44f4af (patch)
treecbd277d85dedfe2f64b94c5e385b311e2c017137 /arch/arm/kernel/fiq.c
parent59255ac55ba6ecd195ef97c6bcd1303a7f838c94 (diff)
parent4d869de174c78ae29ca91b41581367c8092d933d (diff)
Diffstat (limited to 'arch/arm/kernel/fiq.c')
-rw-r--r--arch/arm/kernel/fiq.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/arch/arm/kernel/fiq.c b/arch/arm/kernel/fiq.c
index 25442f451148..918875d96d5d 100644
--- a/arch/arm/kernel/fiq.c
+++ b/arch/arm/kernel/fiq.c
@@ -84,17 +84,14 @@ int show_fiq_list(struct seq_file *p, int prec)
void set_fiq_handler(void *start, unsigned int length)
{
-#if defined(CONFIG_CPU_USE_DOMAINS)
- void *base = (void *)0xffff0000;
-#else
void *base = vectors_page;
-#endif
unsigned offset = FIQ_OFFSET;
memcpy(base + offset, start, length);
+ if (!cache_is_vipt_nonaliasing())
+ flush_icache_range((unsigned long)base + offset, offset +
+ length);
flush_icache_range(0xffff0000 + offset, 0xffff0000 + offset + length);
- if (!vectors_high())
- flush_icache_range(offset, offset + length);
}
int claim_fiq(struct fiq_handler *f)