From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <4978C5A1.4080302@domain.hid> Date: Thu, 22 Jan 2009 20:14:41 +0100 From: Gilles Chanteperdrix MIME-Version: 1.0 References: <8e2adebc0812311008j76d745f9r539a1b9108f8903d@domain.hid> <495BB5AE.1010805@domain.hid> <8e2adebc0901221104y18d09bb5l3d5645f77e4f42ed@domain.hid> In-Reply-To: <8e2adebc0901221104y18d09bb5l3d5645f77e4f42ed@domain.hid> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Xenomai-help] ARM I-pipe port to OMAP osk board List-Id: Help regarding installation and common use of Xenomai List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Mandar Thite Cc: xenomai@xenomai.org Mandar Thite wrote: > Hello everyone, > I am trying to port I-pipe to OMAP5912 SoC. I have query related to follwing > snippet from the page . > > /**************** > > The timer interrupt handler should be modified in two ways: > > - first, if the timer interrupt needs to be acknowledged in some way > (clearing a > > flag in a hardware register, reading a status in a hardware register, > etc...), this acknowledgement must be put in __ipipe_mach_acktimer, because > when the timer is handled by Xenomai, timer interrupts will no longer get > handled by Linux timer interrupt handler. > *****************/ > > What I understood from this is, that __ipipe_mach_acktimer() should include > routine for letting the timer peripheral know that the interrupt generated > by it has been serviced so the peripheral can deassert the interrupt > request. But my datasheet says that interrupts generated by this peripheral > are edge sensitive. So does this fact make the function > __ipipe_mach_acktimer() dummy? > Thanks.---Mandar The acknowledgment done by __ipipe_mach_acktimer() is the acknowledgement at hardware timer level, not at interrupt controller level. You find this acknowledgement generally in Linux timer interrupt code. For instance, for the omap 32k timer, implemented in arch/arm/mach-omap1/timer32k.c, you would write: void __ipipe_mach_acktimer(void) { omap_32k_timer_ack_irq(); } -- Gilles.