On Thu, Mar 13, 2008 at 6:51 PM, Gilles Chanteperdrix
<[EMAIL PROTECTED]> wrote:
> Ok. The code which does this is __ipipe_mach_demux_irq in
> arch/arm/mach-at91/gpio.c. Could you check if at least it triggers ?
I put the following code into __ipipe_mach_demux_irq() in mach-at91/gpio.c:
[..]
void __iomem *pio;
u32 isr;
printk (KERN_INFO "__ipipe_mach_demux_irq: irq=%d\n", irq);
pio = get_irq_chip_data(irq);
printk (KERN_INFO "__ipipe_mach_demux_irq: pio=%x\n", pio);
[..]
for (;;) {
isr = __raw_readl(pio + PIO_ISR) & __raw_readl(pio + PIO_IMR);
printk (KERN_INFO "__ipipe_mach_demux_irq: isr=%x\n", isr);
if (!isr) {
printk (KERN_INFO "__ipipe_mach_demux_irq: !isr\n");
break;
}
pin = (unsigned) get_irq_data(irq);
printk (KERN_INFO "__ipipe_mach_demux_irq: pin: %d\n", pin);
[...]
And all I get is just once (first time I send a packet):
__ipipe_mach_demux_irq: irq=3
__ipipe_mach_demux_irq: pio=c02203d8
__ipipe_mach_demux_irq: isr=0
__ipipe_mach_demux_irq: !isr
Maybe pio is wrongly calculated in get_irq_chip_data()?
_______________________________________________
Adeos-main mailing list
[email protected]
https://mail.gna.org/listinfo/adeos-main