http://linux.omap.com/pipermail/linux-omap-open-source/2008-September/012801.html
Hi all ,
i am facing an issue in OMAP3 platform. I am trying to configure the general
purpose timer 1 to generate interrupts every 1 ms . i have configured the
timer and the interrupt controller at the hardware level and have registered
them with the kernel. Whenever a timer interrupt occured the kernel calls
the timer interrupt handler which acknowledges the timer interrupt by
setting the NEWIRQAGR bit (bit 0) of the INTCPS_CONTROL register. ,so that a
new timer interrupt can be recieved. The process(of recieving interrupt
,acknowledging and so on) continues for some time and the system gets stuck
at a point when it doesn't recieve an interrupt. however if i put some
delays during ackowledging the interrupt, the system runs fine and doesn't
get stuck. After going through the data sheet again, i realised that i
needed to add a data synchronization barrier("MCR P15, #0, R0, C7, C10, #4")
instruction before and after acknowledging. This is added to ensure that a
previous write operation gets completed before any other instruction is
executed.Now after doing this, it is getting stuck at the point of the data
synch. barrier instruction.
I am not able to figure out the reason why it is now getting stuck at the
data synch barrier instruction. Please inform me if i am missing anything .
Thanks in advance,
Anil
|