Re: [PATCH V4 3/4] irqchip/irq-csky-mpintc: Support auto irq deliver to all cpus

From: Guo Ren
Date: Tue Jun 04 2019 - 08:36:16 EST


Hello Marc,

On Tue, Jun 4, 2019 at 7:54 PM Marc Zyngier <marc.zyngier@xxxxxxx> wrote:
>
> On 04/06/2019 12:05, guoren@xxxxxxxxxx wrote:
> > From: Guo Ren <ren_guo@xxxxxxxxx>
> >
> > The csky,mpintc could deliver a external irq to one cpu or all cpus, but
> > it couldn't deliver a external irq to a group of cpus with cpu_mask. So
> > we only use auto deliver mode when affinity mask_val is equal to
> > cpu_present_mask.
> >
> > There is no limitation for only two cpus in SMP system.
> >
> > Signed-off-by: Guo Ren <ren_guo@xxxxxxxxx>
> > Cc: Marc Zyngier <marc.zyngier@xxxxxxx>
> > ---
> > drivers/irqchip/irq-csky-mpintc.c | 15 +++++++++++++--
> > 1 file changed, 13 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/irqchip/irq-csky-mpintc.c b/drivers/irqchip/irq-csky-mpintc.c
> > index a451a07..2740dd5 100644
> > --- a/drivers/irqchip/irq-csky-mpintc.c
> > +++ b/drivers/irqchip/irq-csky-mpintc.c
> > @@ -143,8 +143,19 @@ static int csky_irq_set_affinity(struct irq_data *d,
> > if (cpu >= nr_cpu_ids)
> > return -EINVAL;
> >
> > - /* Enable interrupt destination */
> > - cpu |= BIT(31);
> > + /*
> > + * The csky,mpintc could support auto irq deliver, but it only
> > + * could deliver external irq to one cpu or all cpus. So it
> > + * doesn't support deliver external irq to a group of cpus
> > + * with cpu_mask.
> > + * SO we only use auto deliver mode when affinity mask_val is
> > + * equal to cpu_present_mask.
> > + *
> > + */
> > + if (cpumask_equal(mask_val, cpu_present_mask))
> > + cpu = 0;
> > + else
> > + cpu |= BIT(31);
> >
> > writel_relaxed(cpu, INTCG_base + INTCG_CIDSTR + offset);
> >
> >
>
> Isn't that the same patch as [1]? In which case, I've queued it as a fix
> already.
Yes, they are the same. It's duplicate.

I think you've queued this one:
https://lore.kernel.org/lkml/1558425245-20995-1-git-send-email-guoren@xxxxxxxxxx/

That's OK.

Best Regards
Guo Ren