On Tue, 15 Feb 2005, Michael Neuhauser wrote:

> On Tue, 2005-02-15 at 12:35, [EMAIL PROTECTED] wrote:
> >
> > We have hardware, with an additional IC, behind which only Linux (no
> > real-time) interrupt sources are located. So, logically, you don't need to
> > register this IC's interrupt to the CPU as a rt-interrupt. Then you can
> > directly call (asm_)do_IRQ(new_irq) from it, bypassing all rt (adeos) to
> > reduce latency.
>
> I'm a little confused about what you want to achieve here.

This is handled like SA11x0 / PXA2xx multiplexed interrupts: you install a
handler, say, for CPU interrupt 2. In your IC's ISR you calculate a new
(virtual) IRQ number, say, one of 32, 33, 34,..., and call do_IRQ(new_irq)
recursively.

> >  But with the above mask_ack it is impossible, because then
> > it will never be called...
>
> "it"?

mask_ack().

> > Also, I am somewhat suspicious about not calling unmask in rt. It looks
> > wrong to have to touch IC in ISR...
>
> But if you don't unmask the interrupt it will never happen again ...

Normally unmask is called in do_IRQ() after the handler.

Guennadi
---------------------------------
Guennadi Liakhovetski, Ph.D.
DSA Daten- und Systemtechnik GmbH
Pascalstr. 28
D-52076 Aachen
Germany

Reply via email to