Subject: MVNETA irq with backport-3.8

From: [email-masked] (Thomas Petazzoni)
Date: Tue, 7 May 2013 18:18:23 +0200

Dear Greg,

On Tue, 07 May 2013 16:14:01 +0200, Greg wrote:

> I'm trying to boot off the the backport-3.-8 kernel with armada-xp-db DT 
> file.
> 
> When eth0 is brought up (I'm booting on NFS) the mvneta driver fails in 
> mvneta_open, with the following error :
> > mvneta d0070000.ethernet eth0: cannot request irq 25
> 
> The oddness is this is not the actual IRQ to be requested, and the DTS 
> files explicitly specify the IRQ is 8 for this device.
> 
> I'm not familiar with the DT system, where should I start looking to 
> find the source of the problem ?

This issue should be fixed by:

commit 7f23f62fc31c5c97947414c0937a72e08a947a41
Author: Gregory CLEMENT <[email-masked]>
Date:   Wed Mar 20 16:09:35 2013 +0100

    arm: mvebu: Use local interrupt only for the timer 0
    
    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.
    
    Signed-off-by: Gregory CLEMENT <[email-masked]>
    Tested-by: Thomas Petazzoni <[email-masked]>
    Tested-by: Masami Hiramatsu <[email-masked]>
    Signed-off-by: Jason Cooper <[email-masked]>

which is part of the backport-3.8 branch, so I'm a bit confused. Are
you sure you're using the latest backport-3.8 branch? If so, then I'll
do a test here to check this.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com