Re: [PATCH 10/14] irqchip/mips-gic: Add a IPI hierarchy domain

Thomas Gleixner
2015-11-16T17:24:46Z

On Thu, 12 Nov 2015, Qais Yousef wrote:
> Issues I'm seeing:
>
> - Device domain would be identical to GIC domain and it would defer
> everything to the parent domain except for the extra level of indirection. No?

It's not identical. It's a subset of the GIC domain and it has
different semantics than the IPI domain.

> - The race condition I mentioned in my earlier email where we must be told
> what hwirqs are available because we can't guarantee there's no real device
> connected to it which could interfere with the operation. We have always to
> work on a pre reserved set defined by the system. Currently GIC hard codes
> this set, but I'll be making it a DT property in the future.

We do that better now as we really don't want to start over when it
turns out that the DT property imposes other issues on it.

> - If we remove the mapping, how can a coprocessor drivers find out the
> reverse mapping to pass the hwirq to the firmware so that it can send and
> listen on the correct hwirqs? I have to say my current patches missed dealing
> with this problem. Now I have something to test my rproc driver on I came to
> realise I haven't added the function to do the reverse mapping.

int ipi_get_hw_irq(int irq)
{
struct irq_data *d = irq_get_irq_data(irq);
return d ? irqd_to_hwirq(d);
}

Hmm?

Thanks,

tglx