Re: [PATCH] irqchip: Skip contexts other supervisor in plic_init()

From: Palmer Dabbelt
Date: Wed Oct 23 2019 - 18:07:15 EST


On Wed, 23 Oct 2019 11:54:54 PDT (-0700), Paul Walmsley wrote:
+ hch

On Wed, 23 Oct 2019, Alan Mikhak wrote:

From: Alan Mikhak <alan.mikhak@xxxxxxxxxx>

Modify plic_init() to skip .dts interrupt contexts other
than supervisor external interrupt.

Might be good to explain the motivation here.


Signed-off-by: Alan Mikhak <alan.mikhak@xxxxxxxxxx>
---
drivers/irqchip/irq-sifive-plic.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/irqchip/irq-sifive-plic.c b/drivers/irqchip/irq-sifive-plic.c
index c72c036aea76..5f2a773d5669 100644
--- a/drivers/irqchip/irq-sifive-plic.c
+++ b/drivers/irqchip/irq-sifive-plic.c
@@ -251,8 +251,8 @@ static int __init plic_init(struct device_node *node,
continue;
}

- /* skip context holes */
- if (parent.args[0] == -1)
+ /* skip contexts other than supervisor external interrupt */
+ if (parent.args[0] != IRQ_S_EXT)
continue;

Will this need to change for RISC-V M-mode Linux support?

https://lore.kernel.org/linux-riscv/20191017173743.5430-1-hch@xxxxxx/

Yes.



- Paul