any update? On Tue, Aug 30, 2011 at 6:59 PM, realmz6 <real...@gmail.com> wrote: > Hi Philippe, > > Thanks for your quick response. I have a few questions. > > On Tue, Aug 30, 2011 at 6:07 PM, Philippe Gerum <r...@xenomai.org> wrote: >> On Tue, 2011-08-30 at 16:40 +0800, realmz6 wrote: >>> Hi Guys, >>> >>> in adeos patch bfin_set_irq_handler(), this will set irq handle to >>> handle_level_irq even it is a edge gpio irq, is it true? >>> >>> #ifdef CONFIG_IPIPE >>> - _set_irq_handler(irq, handle_level_irq); >>> -#else >>> - struct irq_desc *desc = irq_desc + irq; >>> + handle = __fixup_irq_handler(desc, handle_level_irq, 0); >>> +#endif >>> >>> should it like the follows, it just fixup original handle and will not >>> always set it to handle_level_irq. >> >> No, this code is correct Adeos-wise. See there for an explanation, and a >> pending fix for a related issue: >> https://mail.gna.org/public/xenomai-help/2011-08/msg00081.html > why adeos is designed to use handle_level_irq for all interrupts even > it is a edge interrupt in hardware? > you means it should be fixed in the ipipe fixup_handler for > handle_level_irq to deal with a edge interrupt. > on blackfin edge irq need a ack to clear sticky but level irq needn't, > if i fixed it in ipipe_ack_level_irq maybe > the level irq will be broken. > >> >>> >>> #ifdef CONFIG_IPIPE >>> - _set_irq_handler(irq, handle_level_irq); >>> -#else >>> - struct irq_desc *desc = irq_desc + irq; >>> + handle = __fixup_irq_handler(desc, handle, 0); >>> +#endif >>> >>> -steven >>> >>> _______________________________________________ >>> Adeos-main mailing list >>> adeos-m...@gna.org >>> https://mail.gna.org/listinfo/adeos-main >> >> -- >> Philippe. >> >> >> >
_______________________________________________ Xenomai-help mailing list Xenomai-help@gna.org https://mail.gna.org/listinfo/xenomai-help