diff options
Diffstat (limited to 'arch/mips/include/asm/mach-generic/ide.h')
-rw-r--r-- | arch/mips/include/asm/mach-generic/ide.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/mips/include/asm/mach-generic/ide.h b/arch/mips/include/asm/mach-generic/ide.h index affa66f5c2da..4ae5fbcb15a5 100644 --- a/arch/mips/include/asm/mach-generic/ide.h +++ b/arch/mips/include/asm/mach-generic/ide.h | |||
@@ -23,7 +23,7 @@ | |||
23 | static inline void __ide_flush_prologue(void) | 23 | static inline void __ide_flush_prologue(void) |
24 | { | 24 | { |
25 | #ifdef CONFIG_SMP | 25 | #ifdef CONFIG_SMP |
26 | if (cpu_has_dc_aliases) | 26 | if (cpu_has_dc_aliases || !cpu_has_ic_fills_f_dc) |
27 | preempt_disable(); | 27 | preempt_disable(); |
28 | #endif | 28 | #endif |
29 | } | 29 | } |
@@ -31,14 +31,14 @@ static inline void __ide_flush_prologue(void) | |||
31 | static inline void __ide_flush_epilogue(void) | 31 | static inline void __ide_flush_epilogue(void) |
32 | { | 32 | { |
33 | #ifdef CONFIG_SMP | 33 | #ifdef CONFIG_SMP |
34 | if (cpu_has_dc_aliases) | 34 | if (cpu_has_dc_aliases || !cpu_has_ic_fills_f_dc) |
35 | preempt_enable(); | 35 | preempt_enable(); |
36 | #endif | 36 | #endif |
37 | } | 37 | } |
38 | 38 | ||
39 | static inline void __ide_flush_dcache_range(unsigned long addr, unsigned long size) | 39 | static inline void __ide_flush_dcache_range(unsigned long addr, unsigned long size) |
40 | { | 40 | { |
41 | if (cpu_has_dc_aliases) { | 41 | if (cpu_has_dc_aliases || !cpu_has_ic_fills_f_dc) { |
42 | unsigned long end = addr + size; | 42 | unsigned long end = addr + size; |
43 | 43 | ||
44 | while (addr < end) { | 44 | while (addr < end) { |