Re: [PATCH v5 06/27] irq_domain/powerpc: eliminate irq_map; use irq_alloc_desc() instead

Benjamin Herrenschmidt
2012-04-02T22:32:54Z

On Mon, 2012-04-02 at 23:27 +0200, Thomas Gleixner wrote:
> So it's covered by this section:
>
> mpic_set_irq_type()
>
> if (flow_type == IRQ_TYPE_NONE)
> if (mpic->senses && src < mpic->senses_count)
> flow_type = mpic->senses[src];
> if (flow_type == IRQ_TYPE_NONE)
> flow_type = IRQ_TYPE_LEVEL_LOW;
>
> And with IRQ_TYPE_NONE this is always going to end up with
> IRQ_TYPE_LEVEL_LOW simply because the only function which might set
> mpic->senses is mpic_set_default_senses(). And this function does not
> have a single caller .....
>
> /me scratches head

Something must have broken ... when converting from the device-tree we
should be calling xlate which should extract the polarity/sense from the
device-tree.

Now, afaik, IRQ_LEVEL_LOW is correct for PCI unless the interrupt is
inverted inside Apple ASIC which is possible... (it's not an external
PCI, it's a cell inside K2).

Cheers,
Ben.