Thread (22 messages) 22 messages, 3 authors, 2021-09-07

Re: [RFC PATCH v3 06/11] dt-bindings: timer: Update SiFive CLINT bindings for IPI support

From: Rob Herring <robh@kernel.org>
Date: 2021-09-02 00:18:48
Also in: linux-riscv, lkml

On Wed, Sep 1, 2021 at 7:00 AM Anup Patel [off-list ref] wrote:
On Wed, Sep 1, 2021 at 6:59 AM Rob Herring [off-list ref] wrote:
quoted
On Mon, Aug 30, 2021 at 09:47:24AM +0530, Anup Patel wrote:
quoted
The Linux RISC-V now treats IPIs as regular per-CPU IRQs. This means
we have to create a IPI interrupt domain to use CLINT IPI functionality
hence requiring a "interrupt-controller" and "#interrupt-cells" DT
property in CLINT DT nodes.

Impact of this CLINT DT bindings change only affects Linux RISC-V
NoMMU kernel and has no effect of existing M-mode runtime firmwares
(i.e. OpenSBI).
It appears to me you should fix Linux to not need these 2 useless
properties. I say useless because #interrupt-cells being 0 is pretty
useless.
Linux IRQCHIP framework only probes IRQCHIP DT nodes which
have "interrupt-controller" DT property.
Right, I believe I wrote that... So what would it look like to fix
that? The simplest thing is just drop the check for
'interrupt-controller'. That's just a sanity check and we have other
ways to do that now (schemas). Do you need this early? You can always
implement your own initcall.

The "interrupt-cells" DT property
can be removed because as an interrupt controller SiFive CLINT
will only provide IPIs to arch code.
The schema will disagree.

Rob
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help