aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-mips/io.h
diff options
context:
space:
mode:
authorThiemo Seufer <ths@networkno.de>2005-02-21 06:44:31 -0500
committerRalf Baechle <ralf@linux-mips.org>2005-10-29 14:30:41 -0400
commit049b13c358f0187cf3c5003d5fb9848dbcb28bc3 (patch)
treef37a46c080ae49ca932ca23ba33f44a80aca688a /include/asm-mips/io.h
parent9f83d839dfd2dbe421224c29f02cef77f5b4b875 (diff)
Enable/disable irq's only if needed.
Signed-off-by: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'include/asm-mips/io.h')
-rw-r--r--include/asm-mips/io.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/asm-mips/io.h b/include/asm-mips/io.h
index 039845f2e6b0..1f2fe11f4124 100644
--- a/include/asm-mips/io.h
+++ b/include/asm-mips/io.h
@@ -319,7 +319,8 @@ static inline type pfx##read##bwlq(volatile void __iomem *mem) \
319 else if (cpu_has_64bits) { \ 319 else if (cpu_has_64bits) { \
320 unsigned long __flags; \ 320 unsigned long __flags; \
321 \ 321 \
322 local_irq_save(__flags); \ 322 if (irq) \
323 local_irq_save(__flags); \
323 __asm__ __volatile__( \ 324 __asm__ __volatile__( \
324 ".set mips3" "\t\t# __readq" "\n\t" \ 325 ".set mips3" "\t\t# __readq" "\n\t" \
325 "ld %L0, %1" "\n\t" \ 326 "ld %L0, %1" "\n\t" \
@@ -328,7 +329,8 @@ static inline type pfx##read##bwlq(volatile void __iomem *mem) \
328 ".set mips0" "\n" \ 329 ".set mips0" "\n" \
329 : "=r" (__val) \ 330 : "=r" (__val) \
330 : "m" (*__mem)); \ 331 : "m" (*__mem)); \
331 local_irq_restore(__flags); \ 332 if (irq) \
333 local_irq_restore(__flags); \
332 } else { \ 334 } else { \
333 __val = 0; \ 335 __val = 0; \
334 BUG(); \ 336 BUG(); \