Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 590892de authored by Vineet Gupta's avatar Vineet Gupta
Browse files

ARC: [intc] mask/unmask can be hidden again

parent 25c7c11f
Loading
Loading
Loading
Loading
+0 −18
Original line number Diff line number Diff line
@@ -131,24 +131,6 @@ static inline int arch_irqs_disabled(void)
	return arch_irqs_disabled_flags(arch_local_save_flags());
}

static inline void arch_mask_irq(unsigned int irq)
{
	unsigned int ienb;

	ienb = read_aux_reg(AUX_IENABLE);
	ienb &= ~(1 << irq);
	write_aux_reg(AUX_IENABLE, ienb);
}

static inline void arch_unmask_irq(unsigned int irq)
{
	unsigned int ienb;

	ienb = read_aux_reg(AUX_IENABLE);
	ienb |= (1 << irq);
	write_aux_reg(AUX_IENABLE, ienb);
}

#else

#ifdef CONFIG_TRACE_IRQFLAGS
+14 −6
Original line number Diff line number Diff line
@@ -55,20 +55,28 @@ void arc_init_IRQ(void)
 * below, per IRQ.
 */

static void arc_mask_irq(struct irq_data *data)
static void arc_irq_mask(struct irq_data *data)
{
	arch_mask_irq(data->irq);
	unsigned int ienb;

	ienb = read_aux_reg(AUX_IENABLE);
	ienb &= ~(1 << data->irq);
	write_aux_reg(AUX_IENABLE, ienb);
}

static void arc_unmask_irq(struct irq_data *data)
static void arc_irq_unmask(struct irq_data *data)
{
	arch_unmask_irq(data->irq);
	unsigned int ienb;

	ienb = read_aux_reg(AUX_IENABLE);
	ienb |= (1 << data->irq);
	write_aux_reg(AUX_IENABLE, ienb);
}

static struct irq_chip onchip_intc = {
	.name           = "ARC In-core Intc",
	.irq_mask	= arc_mask_irq,
	.irq_unmask	= arc_unmask_irq,
	.irq_mask	= arc_irq_mask,
	.irq_unmask	= arc_irq_unmask,
};

static int arc_intc_domain_map(struct irq_domain *d, unsigned int irq,