[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190320223853.1209-1-alistair.francis@wdc.com>
Date: Wed, 20 Mar 2019 22:39:52 +0000
From: Alistair Francis <Alistair.Francis@....com>
To: "palmer@...ive.com" <palmer@...ive.com>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-riscv@...ts.infradead.org" <linux-riscv@...ts.infradead.org>,
"alistair23@...il.com" <alistair23@...il.com>,
Alistair Francis <Alistair.Francis@....com>
Subject: [PATCH] irqchip: plic: Fix priority base offset
According to the FU540 and E31 manuals the PLIC source priority
address starts at an offset of 0x04 and not 0x00. To aviod confusion
update the address and source offset to match the documentation. This
causes no difference in functionality.
Signed-off-by: Alistair Francis <alistair.francis@....com>
---
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 cf755964f2f8..826e7293d608 100644
--- a/drivers/irqchip/irq-sifive-plic.c
+++ b/drivers/irqchip/irq-sifive-plic.c
@@ -35,7 +35,7 @@
* Each interrupt source has a priority register associated with it.
* We always hardwire it to one in Linux.
*/
-#define PRIORITY_BASE 0
+#define PRIORITY_BASE 0x04
#define PRIORITY_PER_ID 4
/*
@@ -88,7 +88,7 @@ static inline void plic_irq_toggle(const struct cpumask *mask,
{
int cpu;
- writel(enable, plic_regs + PRIORITY_BASE + hwirq * PRIORITY_PER_ID);
+ writel(enable, plic_regs + PRIORITY_BASE + (hwirq - 1) * PRIORITY_PER_ID);
for_each_cpu(cpu, mask) {
struct plic_handler *handler = per_cpu_ptr(&plic_handlers, cpu);
--
2.21.0
Powered by blists - more mailing lists