Skip to contentSkip to conversation

Patch "ARM: orion5x: fix legacy orion5x IRQ numbers" has been added to the 4.1-stable tree

PATCH [email protected] 1 participant 1 message Sep 19, 2015

Subsystems (4)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

ARM: orion5x: fix legacy orion5x IRQ numbers

to the 4.1-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
arm-orion5x-fix-legacy-orion5x-irq-numbers.patch
and it can be found in the queue-4.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 5be9fc23cdb42e1d383ecc8eae8a8ff70a752708 Mon Sep 17 00:00:00 2001

From: Benjamin Cama <[email protected]>
Date: Tue, 14 Jul 2015 16:25:58 +0200
Subject: ARM: orion5x: fix legacy orion5x IRQ numbers

From: Benjamin Cama <[email protected]>

commit 5be9fc23cdb42e1d383ecc8eae8a8ff70a752708 upstream.

Since v3.18, attempts to deliver IRQ0 are rejected, breaking orion5x. Fix this by increasing all interrupts by one, as did 5d6bed2a9c8b for dove. Also, force MULTI_IRQ_HANDLER for all orion platforms (including dove) as the specific handler is needed to shift back IRQ numbers by one.

[[email protected]]: moved the select MULTI_IRQ_HANDLER from PLAT_ORION_LEGACY to ARCH_ORION5X as it broke the build for dove.

Fixes a71b092a9c68 ("ARM: Convert handle_IRQ to use __handle_domain_irq")
---
 arch/arm/Kconfig                          |    1 
 arch/arm/mach-orion5x/include/mach/irqs.h |   64 +++++++++++++++---------------
 arch/arm/mach-orion5x/irq.c               |    4 -
 3 files changed, 35 insertions(+), 34 deletions(-)
arch/arm/Kconfig +1 -0
@@ -538,6 +538,7 @@ config ARCH_ORION5X
 	select MVEBU_MBUS
 	select PCI
 	select PLAT_ORION_LEGACY
+	select MULTI_IRQ_HANDLER
 	help
 	  Support for the following Marvell Orion 5x series SoCs:
 	  Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
arch/arm/mach-orion5x/include/mach/irqs.h +32 -32

74 lines not on this page · raw message

arch/arm/mach-orion5x/irq.c +2 -2
@@ -42,7 +42,7 @@ __exception_irq_entry orion5x_legacy_han
 	stat = readl_relaxed(MAIN_IRQ_CAUSE);
 	stat &= readl_relaxed(MAIN_IRQ_MASK);
 	if (stat) {
-		unsigned int hwirq = __fls(stat);
+		unsigned int hwirq = 1 + __fls(stat);
 		handle_IRQ(hwirq, regs);
 		return;
 	}
@@ -51,7 +51,7 @@ __exception_irq_entry orion5x_legacy_han
 
 void __init orion5x_init_irq(void)
 {
-	orion_irq_init(0, MAIN_IRQ_MASK);
+	orion_irq_init(1, MAIN_IRQ_MASK);
 
 #ifdef CONFIG_MULTI_IRQ_HANDLER
 	set_handle_irq(orion5x_legacy_handle_irq);

Patches currently in stable-queue which might be from [email protected] are

queue-4.1/arm-orion5x-fix-legacy-orion5x-irq-numbers.patch