Thread (5 messages) flat view 5 messages, 3 authors, 2017-11-16
STALE3191d

[PATCH RFC] irq-bcm2836: Avoid "Invalid trigger warning"

From: Phil Elwell <hidden>
Date: 2017-11-16 17:53:28

Hi Stefan,

On 16/11/2017 17:34, Stefan Wahren wrote:
Hi Phil,
quoted
Marc Zyngier [off-list ref] hat am 16. November 2017 um 09:57 geschrieben:


On Thu, Nov 16 2017 at  7:53:02 am GMT, Stefan Wahren [off-list ref] wrote:
quoted
From: Phil Elwell <redacted>

Initialise the level for each IRQ to avoid a warning from the
arm arch timer code:

    arch_timer: WARNING: Invalid trigger for IRQ19, assuming level low
    arch_timer: WARNING: Please fix your firmware
    arch_timer: cp15 timer(s) running at 19.20MHz (virt).

Signed-off-by: Phil Elwell <redacted>
Signed-off-by: Stefan Wahren <redacted>
---
 drivers/irqchip/irq-bcm2836.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c
index 667b9e1..abc9b40 100644
--- a/drivers/irqchip/irq-bcm2836.c
+++ b/drivers/irqchip/irq-bcm2836.c
@@ -104,7 +104,7 @@ static void bcm2836_arm_irqchip_register_irq(int hwirq, struct irq_chip *chip)
 
 	irq_set_percpu_devid(irq);
 	irq_set_chip_and_handler(irq, chip, handle_percpu_devid_irq);
-	irq_set_status_flags(irq, IRQ_NOAUTOEN);
+	irq_set_status_flags(irq, IRQ_NOAUTOEN | IRQ_TYPE_LEVEL_LOW);
 }
 
 static void
Why is this only done for the per-cpu interrupts? I can't see what
guarantees the same thing for global interrupts...
i don't know. Could you please answer?

I'm only interested to get the rid of this ugly warning ...

and the right fix ;-)
That was my motivation too, with a preference for the smallest change that had
the desired effect.

The warning message comes from the arch_timer code, which only cares about the
interrupts it has been configured to use. Since these are all per-cpu
interrupts, the state of the global interrupts is irrelevant.

Phil
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help