Flavio de Castro Alves Filho wrote:
> I believe there is a lockup during the irq handling process.
>
> I could not find where it is blocking.
>
> I performed the following tests:
>
> 1) add traces in every function related to interrupt ... and none was called
Well, obviously, you missed some, because your boot logs indicate
clearly that at least the timer interrupt is working.
If you are interested in what happens at I-pipe level, the functions you
are interested in are ipipe_grab_irq, ipipe_handle_irq,
ipipe_mach_demux_irq, etc...
>
> 2) add traces in every function in time.c file. After the last message
> ("ata1: SATA max UDMA/133 irq 67"), the following functions were called:
> - read_cycles()
> - timer32_read()
>
> Looking at these functions, they seam to be fine. I have no clue about where
> to start debugging.
>
> Thank you for all your help.
Try this:
diff --git a/arch/arm/mach-davinci/irq.c b/arch/arm/mach-davinci/irq.c
index 5a324c9..22ddbe2 100644
--- a/arch/arm/mach-davinci/irq.c
+++ b/arch/arm/mach-davinci/irq.c
@@ -360,9 +360,11 @@ void __init davinci_irq_init(void)
for (i = 0; i < DAVINCI_N_AINTC_IRQ; i++) {
set_irq_chip(i, &davinci_irq_chip_0);
set_irq_flags(i, IRQF_VALID | IRQF_PROBE);
+#ifndef CONFIG_IPIPE
if (i != IRQ_TINT1_TINT34)
set_irq_handler(i, handle_edge_irq);
else
+#endif /* CONFIG_IPIPE */
set_irq_handler(i, handle_level_irq);
}
}
--
Gilles.
_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help