On Tuesday 01 December 2015 06:59 PM, Marc Zyngier wrote:
>> +static int nps400_irq_map(struct irq_domain *d, unsigned int irq,
>> > +                    irq_hw_number_t hw)
>> > +{
>> > +  switch (irq) {
>> > +  case TIMER0_IRQ:
>> > +#if defined(CONFIG_SMP)
>> > +  case IPI_IRQ:
>> > +#endif
>> > +          irq_set_chip_and_handler(irq, &nps400_irq_chip_percpu,
>> > +                                   handle_percpu_irq);
>> > +  break;
>> > +  default:
>> > +          irq_set_chip_and_handler(irq, &nps400_irq_chip_fasteoi,
>> > +                                   handle_fasteoi_irq);
>> > +  break;
>> > +  }
> No. This is just wrong. Either you get per interrupt information from
> the device tree to configure the interrupt the right way, or you have
> different interrupt controllers for each device.
> 
> But using the Linux irq number is always wrong. You should only consider
> the hwirq.

The source is this incorrectness is ARC core intc code which also does the same
thing and we get away with it because of the legacy domain usage.

I'll fix that up.

Thx,
-Vineet

_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc

Reply via email to