summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Matsievskiy <matsievskiysv@gmail.com>2024-09-25 21:44:15 +0300
committerThomas Gleixner <tglx@linutronix.de>2024-10-02 16:11:07 +0300
commit9e9c4666abb5bb444dac37e2d7eb5250c8d52a45 (patch)
treed7c7dc2325ef88dc941d5a55588abd1f7d2e5d4c
parent5fd7e1ee09afd1546b92615123d718ad6c8c5baf (diff)
downloadlinux-9e9c4666abb5bb444dac37e2d7eb5250c8d52a45.tar.xz
irqchip/ocelot: Fix trigger register address
Controllers, supported by this driver, have two sets of registers: * (main) interrupt registers control peripheral interrupt sources. * device interrupt registers configure per-device (network interface) interrupts and act as an extra stage before the main interrupt registers. In the driver unmask code, device trigger registers are used in the mask calculation of the main interrupt sticky register, mixing two kinds of registers. Use the main interrupt trigger register instead. Signed-off-by: Sergey Matsievskiy <matsievskiysv@gmail.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/all/20240925184416.54204-2-matsievskiysv@gmail.com
-rw-r--r--drivers/irqchip/irq-mscc-ocelot.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/irqchip/irq-mscc-ocelot.c b/drivers/irqchip/irq-mscc-ocelot.c
index 4d0c3532dbe7..c19ab379e8c5 100644
--- a/drivers/irqchip/irq-mscc-ocelot.c
+++ b/drivers/irqchip/irq-mscc-ocelot.c
@@ -37,7 +37,7 @@ static struct chip_props ocelot_props = {
.reg_off_ena_clr = 0x1c,
.reg_off_ena_set = 0x20,
.reg_off_ident = 0x38,
- .reg_off_trigger = 0x5c,
+ .reg_off_trigger = 0x4,
.n_irq = 24,
};
@@ -70,7 +70,7 @@ static struct chip_props jaguar2_props = {
.reg_off_ena_clr = 0x1c,
.reg_off_ena_set = 0x20,
.reg_off_ident = 0x38,
- .reg_off_trigger = 0x5c,
+ .reg_off_trigger = 0x4,
.n_irq = 29,
};