m32r: Exit ei_handler directly for no IRQ case or IPI operations
If no IRQ request is found in the IRQ check of ei_handler,
we can exit directly by jumping "restore_all", instead of via
"ret_from_intr".
This modification is also likely effective for IPI operations,
because scheduler call never happen at the exit of IPIs.
Signed-off-by: Hitoshi Yamamoto <hitoshiy@linux-m32r.org>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
diff --git a/arch/m32r/kernel/entry.S b/arch/m32r/kernel/entry.S
index 07d95a4..4b3a774 100644
--- a/arch/m32r/kernel/entry.S
+++ b/arch/m32r/kernel/entry.S
@@ -333,7 +333,7 @@
.fillinsn
1:
addi sp, #4
- bra ret_to_intr
+ bra restore_all
.fillinsn
2:
srli r0, #2
@@ -382,7 +382,6 @@
pop r14
seth r0, #shigh(M32R_ICU_IMASK_ADDR)
st r14, @(low(M32R_ICU_IMASK_ADDR),r0)
-ret_to_intr:
bra ret_from_intr
/*