Skip to content

Commit 1cbb418

Browse files
guoren83Marc Zyngier
authored andcommitted
irqchip/csky-mpintc: Fixup mask/unmask implementation
The mask/unmask must be implemented, and enable/disable supplement them if the HW requires something different at startup time. When irq source is disabled by mask, mpintc could complete irq normally. So drop enable/disable if favour of mask/unmask. Signed-off-by: Guo Ren <[email protected]> Signed-off-by: Marc Zyngier <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent debe436 commit 1cbb418

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

drivers/irqchip/irq-csky-mpintc.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ static void csky_mpintc_handler(struct pt_regs *regs)
7878
readl_relaxed(reg_base + INTCL_RDYIR));
7979
}
8080

81-
static void csky_mpintc_enable(struct irq_data *d)
81+
static void csky_mpintc_unmask(struct irq_data *d)
8282
{
8383
void __iomem *reg_base = this_cpu_read(intcl_reg);
8484

@@ -87,7 +87,7 @@ static void csky_mpintc_enable(struct irq_data *d)
8787
writel_relaxed(d->hwirq, reg_base + INTCL_SENR);
8888
}
8989

90-
static void csky_mpintc_disable(struct irq_data *d)
90+
static void csky_mpintc_mask(struct irq_data *d)
9191
{
9292
void __iomem *reg_base = this_cpu_read(intcl_reg);
9393

@@ -164,8 +164,8 @@ static int csky_irq_set_affinity(struct irq_data *d,
164164
static struct irq_chip csky_irq_chip = {
165165
.name = "C-SKY SMP Intc",
166166
.irq_eoi = csky_mpintc_eoi,
167-
.irq_enable = csky_mpintc_enable,
168-
.irq_disable = csky_mpintc_disable,
167+
.irq_unmask = csky_mpintc_unmask,
168+
.irq_mask = csky_mpintc_mask,
169169
.irq_set_type = csky_mpintc_set_type,
170170
#ifdef CONFIG_SMP
171171
.irq_set_affinity = csky_irq_set_affinity,

0 commit comments

Comments
 (0)