Commit bb665236 authored by Max Filippov's avatar Max Filippov

drivers/irqchip: xtensa: add warning to irq_retrigger

XEA2 and MX PIC can only retrigger software interrupts. Issue a warning
if an interrupt of any other type is retriggered.
Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
parent 8b1c42cd
...@@ -113,7 +113,11 @@ static void xtensa_mx_irq_ack(struct irq_data *d) ...@@ -113,7 +113,11 @@ static void xtensa_mx_irq_ack(struct irq_data *d)
static int xtensa_mx_irq_retrigger(struct irq_data *d) static int xtensa_mx_irq_retrigger(struct irq_data *d)
{ {
xtensa_set_sr(1 << d->hwirq, intset); unsigned int mask = 1u << d->hwirq;
if (WARN_ON(mask & ~XCHAL_INTTYPE_MASK_SOFTWARE))
return 0;
xtensa_set_sr(mask, intset);
return 1; return 1;
} }
......
...@@ -70,7 +70,11 @@ static void xtensa_irq_ack(struct irq_data *d) ...@@ -70,7 +70,11 @@ static void xtensa_irq_ack(struct irq_data *d)
static int xtensa_irq_retrigger(struct irq_data *d) static int xtensa_irq_retrigger(struct irq_data *d)
{ {
xtensa_set_sr(1 << d->hwirq, intset); unsigned int mask = 1u << d->hwirq;
if (WARN_ON(mask & ~XCHAL_INTTYPE_MASK_SOFTWARE))
return 0;
xtensa_set_sr(mask, intset);
return 1; return 1;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment