Title: [5886] trunk/arch/blackfin/include/asm: unify some of the IPIPE code and fix style
- Revision
- 5886
- Author
- vapier
- Date
- 2008-12-18 11:55:11 -0600 (Thu, 18 Dec 2008)
Log Message
unify some of the IPIPE code and fix style
Modified Paths
Diff
Modified: trunk/arch/blackfin/include/asm/entry.h (5885 => 5886)
--- trunk/arch/blackfin/include/asm/entry.h 2008-12-18 17:54:38 UTC (rev 5885)
+++ trunk/arch/blackfin/include/asm/entry.h 2008-12-18 17:55:11 UTC (rev 5886)
@@ -28,6 +28,13 @@
/* This is used for all normal interrupts. It saves a minimum of registers
to the stack, loads the IRQ number, and jumps to common code. */
#ifdef CONFIG_IPIPE
+# define LOAD_IPIPE_IPEND \
+ P0.l = lo(IPEND); \
+ P0.h = hi(IPEND); \
+ R1 = [P0];
+#else
+# define LOAD_IPIPE_IPEND
+#endif
#define INTERRUPT_ENTRY(N) \
[--sp] = SYSCFG; \
\
@@ -35,20 +42,8 @@
[--sp] = R0; /*orig_r0*/ \
[--sp] = (R7:0,P5:0); \
R0 = (N); \
- P0.l = lo(IPEND); \
- P0.h = hi(IPEND); \
- R1 = [P0]; \
+ LOAD_IPIPE_IPEND \
jump __common_int_entry;
-#else /* !CONFIG_IPIPE */
-#define INTERRUPT_ENTRY(N) \
- [--sp] = SYSCFG; \
- \
- [--sp] = P0; /*orig_p0*/ \
- [--sp] = R0; /*orig_r0*/ \
- [--sp] = (R7:0,P5:0); \
- R0 = (N); \
- jump __common_int_entry;
-#endif /* CONFIG_IPIPE */
/* For timer interrupts, we need to save IPEND, since the user_mode
macro accesses it to determine where to account time. */
Modified: trunk/arch/blackfin/include/asm/irq.h (5885 => 5886)
--- trunk/arch/blackfin/include/asm/irq.h 2008-12-18 17:54:38 UTC (rev 5885)
+++ trunk/arch/blackfin/include/asm/irq.h 2008-12-18 17:55:11 UTC (rev 5886)
@@ -40,19 +40,21 @@
void __ipipe_restore_root(unsigned long flags);
#ifdef CONFIG_DEBUG_HWERR
-#define __all_masked_irq_flags 0x3f
-#define __save_and_cli_hw(x) do { \
- __asm__ __volatile__ ( \
- "cli %0;\n\tsti %1;" \
- : "=&d"(x) : "d" (0x3F)); \
-} while (0)
+# define __all_masked_irq_flags 0x3f
+# define __save_and_cli_hw(x) \
+ __asm__ __volatile__( \
+ "cli %0;" \
+ "sti %1;" \
+ : "=&d"(x) \
+ : "d" (0x3F) \
+ )
#else
-#define __all_masked_irq_flags 0x1f
-#define __save_and_cli_hw(x) do { \
- __asm__ __volatile__ ( \
- "cli %0;" \
- : "=&d"(x) : ); \
-} while (0)
+# define __all_masked_irq_flags 0x1f
+# define __save_and_cli_hw(x) \
+ __asm__ __volatile__( \
+ "cli %0;" \
+ : "=&d"(x) \
+ )
#endif
#define irqs_enabled_from_flags_hw(x) ((x) != __all_masked_irq_flags)
@@ -75,9 +77,12 @@
#define local_irq_enable() __ipipe_unstall_root()
#define irqs_disabled() __ipipe_test_root()
-#define local_save_flags_hw(x) asm volatile ("cli %0;" \
- "sti %0;" \
- : "=d"(x) : )
+#define local_save_flags_hw(x) \
+ __asm__ __volatile__( \
+ "cli %0;" \
+ "sti %0;" \
+ : "=d"(x) \
+ )
#define irqs_disabled_hw() \
({ \
@@ -138,8 +143,12 @@
__asm__ __volatile__ ("cli %0;" : "=d" (_tmp_dummy) : ); \
} while (0)
-#define local_irq_enable_hw_notrace() \
- __asm__ __volatile__ ("sti %0;" : : "d"(bfin_irq_flags))
+#define local_irq_enable_hw_notrace() \
+ __asm__ __volatile__( \
+ "sti %0;" \
+ : \
+ : "d"(bfin_irq_flags) \
+ )
#define local_irq_save_hw_notrace(x) __save_and_cli_hw(x)
@@ -151,24 +160,25 @@
#else /* CONFIG_IPIPE_TRACE_IRQSOFF */
-#define local_irq_enable_hw() \
- do { \
- __asm__ __volatile__ ( \
- "sti %0;" \
- : : "d"(bfin_irq_flags)); \
- } while (0)
+#define local_irq_enable_hw() \
+ __asm__ __volatile__( \
+ "sti %0;" \
+ : \
+ : "d"(bfin_irq_flags) \
+ )
#define local_irq_disable_hw() \
do { \
int _tmp_dummy; \
__asm__ __volatile__ ( \
"cli %0;" \
- : "=d" (_tmp_dummy) : ); \
+ : "=d" (_tmp_dummy)); \
} while (0)
-#define local_irq_restore_hw(x) do { \
- if (irqs_enabled_from_flags_hw(x)) \
- local_irq_enable_hw(); \
+#define local_irq_restore_hw(x) \
+ do { \
+ if (irqs_enabled_from_flags_hw(x)) \
+ local_irq_enable_hw(); \
} while (0)
#define local_irq_save_hw(x) __save_and_cli_hw(x)
@@ -194,8 +204,6 @@
); \
} while (0)
-
-
#define local_irq_enable() \
__asm__ __volatile__( \
"sti %0;" \
@@ -256,23 +264,22 @@
#endif /* !CONFIG_IPIPE */
-#if defined(ANOMALY_05000244) && defined(CONFIG_BLKFIN_CACHE)
-#define idle_with_irq_disabled() do { \
- __asm__ __volatile__ ( \
- "nop; nop;\n" \
- ".align 8;\n" \
- "sti %0; idle;\n" \
- : : "d" (bfin_irq_flags)); \
-} while (0)
+#if ANOMALY_05000244 && defined(CONFIG_BFIN_ICACHE)
+# define NOP_PAD_ANOMALY_05000244 "nop; nop;"
#else
-#define idle_with_irq_disabled() do { \
- __asm__ __volatile__ ( \
- ".align 8;\n" \
- "sti %0; idle;\n" \
- : : "d" (bfin_irq_flags)); \
-} while (0)
+# define NOP_PAD_ANOMALY_05000244
#endif
+#define idle_with_irq_disabled() \
+ __asm__ __volatile__( \
+ NOP_PAD_ANOMALY_05000244 \
+ ".align 8;" \
+ "sti %0;" \
+ "idle;" \
+ : \
+ : "d" (bfin_irq_flags) \
+ )
+
static inline int irq_canonicalize(int irq)
{
return irq;
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
http://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits