Thread (19 messages) 19 messages, 5 authors, 2011-10-03
STALE5354d
Revisions (17)
  1. v1 [diff vs current]
  2. v1 [diff vs current]
  3. v1 [diff vs current]
  4. v1 [diff vs current]
  5. v1 [diff vs current]
  6. v1 [diff vs current]
  7. v1 [diff vs current]
  8. v1 [diff vs current]
  9. v2 [diff vs current]
  10. v3 [diff vs current]
  11. v4 [diff vs current]
  12. v4 [diff vs current]
  13. v4 [diff vs current]
  14. v4 [diff vs current]
  15. v4 current
  16. v4 [diff vs current]
  17. v5 [diff vs current]

[PATCH v4 3/7] arm/imx: add gic_handle_irq function

From: Shawn Guo <hidden>
Date: 2011-10-01 13:30:03

On Thu, Sep 29, 2011 at 10:27:30PM +0800, Shawn Guo wrote:
On Thu, Sep 29, 2011 at 10:34:09AM +0100, Russell King - ARM Linux wrote:
quoted
On Wed, Sep 28, 2011 at 05:06:44PM +0800, Shawn Guo wrote:
quoted
+#ifdef CONFIG_SMP
+		else if (irqnr < 16) {
+			writel_relaxed(irqstat, gic_cpu_base_addr +
+						GIC_CPU_EOI);
+			do_IPI(irqnr, regs);
+		}
+#endif
+#ifdef CONFIG_LOCAL_TIMERS
+		else if (irqnr == 29) {
+			writel_relaxed(irqstat, gic_cpu_base_addr +
+						GIC_CPU_EOI);
+			do_local_timer(regs);
+		}
+#endif
As I've said for similar patches. neither of these two functions are
designed to be called from another C function (because they're marked
__exception or __exception_irq_entry).  Both of these markers tell the
unwinder that a struct pt_regs is located directly above the functions
stack frame.
I'm also wondering the consequence of not doing so, because we are
seeing icip_handle_irq() and ichp_handle_irq() (arch/arm/mach-pxa/irq.c)
are doing the same thing, and we are not running into any problem with
above code.
Sorry.  Please ignore the above.

-- 
Regards,
Shawn
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help