On Thu, Feb 23, 2012 at 10:50:13AM +1100, Benjamin Herrenschmidt wrote: > When using a multi-ISU MPIC, we can interrupts up to > isu_size * MPIC_MAX_ISU, not just isu_size, so allocate > the right size reverse map. > > Without this, the code will constantly fallback to > a linear search. > > Signed-off-by: Benjamin Herrenschmidt <[email protected]>
Looks fine to me. This will conflict with the irqdomain tree in linux-next, but it will be a trivial fixup. Still, if you prefer I can pick this up into my tree. g. > --- > > diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c > index 4e9ccb1..7fb3ab5 100644 > --- a/arch/powerpc/sysdev/mpic.c > +++ b/arch/powerpc/sysdev/mpic.c > @@ -1346,7 +1346,8 @@ struct mpic * __init mpic_alloc(struct device_node > *node, > mpic->isu_mask = (1 << mpic->isu_shift) - 1; > > mpic->irqhost = irq_alloc_host(mpic->node, IRQ_HOST_MAP_LINEAR, > - isu_size ? isu_size : mpic->num_sources, > + isu_size ? isu_size * MPIC_MAX_ISU : > + mpic->num_sources, > &mpic_host_ops, > flags & MPIC_LARGE_VECTORS ? 2048 : 256); > > > _______________________________________________ Linuxppc-dev mailing list [email protected] https://lists.ozlabs.org/listinfo/linuxppc-dev
