]> git.baikalelectronics.ru Git - kernel.git/commit
arm: mvebu: Use local interrupt only for the timer 0
authorGregory CLEMENT <gregory.clement@free-electrons.com>
Wed, 20 Mar 2013 15:09:35 +0000 (16:09 +0100)
committerJason Cooper <jason@lakedaemon.net>
Thu, 28 Mar 2013 16:45:42 +0000 (16:45 +0000)
commita6c22469ad860c589633a203059d88db2f5bc05e
treec39b9b00e05f95cdd00f2fe87bb27400613f61e4
parent2027cf3b0daaa5637b5def40637ace03034bc8fb
arm: mvebu: Use local interrupt only for the timer 0

The commit c4438fd89 "arm: mvebu: Add support for local interrupt",
managed the 28th first interrupts as local interrupt to match the
hardware specification. Among these interrupts there are the Gigabits
Ethernet ones used by the mvneta driver. Unfortunately the state of
the percpu_irq API prevents the driver to use it.

Indeed the interrupts have to be freed when the .stop() function is
called. As the free_percpu_irq() function don't disable the interrupt
line, we have to do it on each CPU before calling this. The function
disable_percpu_irq() only disable the percpu on the current CPU and
there is no function which allows to disable a percpu irq on a given
CPU. Waiting for the extension of the percpu_irq API, this fix allows
to use again the mvneta driver.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
arch/arm/mach-mvebu/irq-armada-370-xp.c