[PATCH for 3.9-rc] arm: mvebu: Use local interrupt only for the timer 0

Ryan Press ryan at presslab.us
Wed Mar 20 12:44:42 EDT 2013


On Wed, Mar 20, 2013 at 8:09 AM, Gregory CLEMENT
<gregory.clement at free-electrons.com> wrote:
> The commit 3a6f08a37 "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.

Thanks Gregory!

I can confirm this patch works for me as well.  I still have the
problem on my Globalscale Mirabox where only a forced 10Mb link works
on tx/rx.  With 100Mb only rx works, and 1Gb neither works.

Ryan



More information about the linux-arm-kernel mailing list