On Sat, Mar 1, 2014 at 9:39 PM, <[email protected]> wrote: > On second thought, the entire sw_irq_unmask is somewhat strange: > > since SW_INT_IRQNO_ENMI == 32 it will never be that the following is reached: > > static void sw_irq_unmask(struct irq_data *irqd) > { > unsigned int irq = irqd->irq; > > if(irq < 32){ > writel(readl(SW_INT_ENABLE_REG0) | (1<<irq), > SW_INT_ENABLE_REG0); > writel(readl(SW_INT_MASK_REG0) & ~(1 << irq), > SW_INT_MASK_REG0); > if(irq == SW_INT_IRQNO_ENMI) /* must clear pending bit when > enabled */ <--- (irq == 32) ?! > writel((1 << SW_INT_IRQNO_ENMI), > SW_INT_IRQ_PENDING_REG0); <--------------------- unreachable
It is reachable for sun4i where (SW_INT_IRQNO_ENMI == 0). For sun7i is useless since to unmask the NMI you still have to access the NMI controller. Regards, -- Carlo Caione -- You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
