[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <577BE288.70200@laposte.net>
Date: Tue, 5 Jul 2016 18:38:32 +0200
From: Sebastian Frias <sf84@...oste.net>
To: Jason Cooper <jason@...edaemon.net>
Cc: Mason <slash.tmp@...e.fr>, LKML <linux-kernel@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Marc Zyngier <marc.zyngier@....com>
Subject: Re: [RFC PATCH v1] irqchip: add support for SMP irq router
Hi Jason,
On 07/05/2016 05:53 PM, Jason Cooper wrote:
>>
>> Thanks for your comments.
>> So, aside from some naming issues, do you think the driver is ok?
>
> Well, it's going to be few days before I can really dig in to this.
> Until then, what I can say I see is that it looks like you're using
> devicetree to tell Linux how to lay out the irq domains. That's not
> right :(
Ok, so that replies my questions 1 and 2, thanks.
>
> The devicetree should *only* describe the hardware. Would *BSD be able
> to use the description in the dtb effectively?
>
> iiuc, I think irq-crossbar.c may be a similar enough in task to give you
> an idea or two.
I already did something like that, you can see it here:
https://marc.info/?l=linux-kernel&m=146592235919308&w=2
the problem with that code is that it cannot handle more than 24 IRQs (the
number of outputs of the router), because they are not being shared.
Maybe I need a sort of hybrid approach by reintroducing part of
"irq-crossbar.c" code to replace the irq domain layout that is currently
being done using DT properties ?
However, I have not seen any examples of how to describe, using the DT,
an association between a device HW irq, and the GIC hwirq where it goes to,
nor how to express in the DT that multiple devices should share a given GIC
hwirq.
Basically, when a device requests the IRQ specified in its DT, I need:
- to know which GIC hwirq line should I route it to (or the GIC to tell
me which one it expects)
- two devices should be able to request to share the same GIC hwirq
If you take a look at the DT for drivers/irqchip/irq-tango.c
(arch/arm/boot/dts/tango4-common.dtsi) you will see that 3 domains are
created using DT nodes. The difference being that in the irq-tango.c case
the routing is fixed w.r.t the GIC.
Best regards,
Sebastian
Powered by blists - more mailing lists