Re: RT_PREEMPT problem with cascaded irqchip

Thomas Gleixner
2006-05-30T23:24:33Z

Yann,

Can you please use a sane mail client ? There is no point to have the
headers of the previous mail inserted in some fancy way. Also please
answer inline and not on top of the reply.

Thanks.

On Tue, 2006-05-30 at 16:44 +0200, Yann.LEPROVOST@wavecom.fr wrote:
> Well, in fact the issue doesn't come neither from the mask/unmask procedure
> nor from the set_irq calls.
> Correct gpio mask/unmask are called before the gpio_irq_handler.
>
> However, there is an issue in gpio_irq_handler (specific to generic_irq and
> AT91RM9200, i think) concerning desc->chip->chip_data.
> The following change has to be applied :
>
> -- pio = (void __force __iomem *) desc->chip->chip_data;
> ++ pio = (void __force __iomem *) desc->chip_data;

Hmm. Is that part of your code or is it related to code in mainline ?

> Moreover, I think that the call to redirect_hardirq have to be insered in
> gpio_irq_handler but I don't know how to do that.

Why should that be done. The gpio_irq_handler should be called from the
demultiplexing handler, via desc->handler(..). ARM has a conversion
macro - desc_handle_irq() for that.

Anyway, the ARM code in 2.6.16-rtXX is lacking some of the changes we
did in the genirq patchset. Sorry: - ENOTENOUGHINSTANCES

I'm in the progress to update that.

tglx