All of lore.kernel.org
 help / color / mirror / Atom feed
From: gregory.clement@free-electrons.com (Gregory CLEMENT)
To: linux-arm-kernel@lists.infradead.org
Subject: MVNETA irq with backport-3.8
Date: Tue, 07 May 2013 23:54:24 +0200	[thread overview]
Message-ID: <51897810.8020002@free-electrons.com> (raw)
In-Reply-To: <20130507214256.GC5414@1wt.eu>

Hi Willy,

On 05/07/2013 11:42 PM, Willy Tarreau wrote:
> Hi Gr?gory,
> 
> On Tue, May 07, 2013 at 11:27:48PM +0200, Gregory CLEMENT wrote:
>> I built and tested backport-3.8 and indeed the Ethernet is broken.
>> It was cause by a recent batch of fixes that I added, now I have to
>> figure out why they have broken the ethernet whereas they were supposed
>> to make it work better!
> 
> If that can help you, here is the list of (possibly relevant) patches
> I have applied on top of 3.9 picked from your repository some time
> ago (it's not up to date with the latest versions due to merge issues
> inducing laziness on my side) :
> 
> $ git log --oneline --grep=free-electrons v3.9.. 
> 65d2b5c ARM: mvebu: Add Device Bus and CFI flash memory support to defconfig
> 26cabde ARM: mvebu: Add support for NOR flash device on Openblocks AX3 board
> 34b32e8 ARM: mvebu: Add support for NOR flash device on Armada XP-GP board
> 31504c0 ARM: mvebu: Add Device Bus support for Armada 370/XP SoC
> 8cc752e drivers: memory: Introduce Marvell EBU Device Bus driver
> 48c6ddc arm: mvebu: update defconfig with PCI and USB support
> f4ed5ba arm: mvebu: PCIe Device Tree informations for Armada XP GP
> b1ed2c5 arm: mvebu: PCIe Device Tree informations for Armada 370 DB
> 51e91a9 arm: mvebu: PCIe Device Tree informations for Armada 370 Mirabox
> 402f9ba arm: mvebu: PCIe Device Tree informations for Armada XP DB
> 4899409 arm: mvebu: PCIe Device Tree informations for OpenBlocks AX3-4
> fb6d69f arm: mvebu: add PCIe Device Tree informations for Armada XP
> c523287 arm: mvebu: add PCIe Device Tree informations for Armada 370
> 998ee7a arm: mvebu: PCIe support is now available on mvebu
> fc9b219 pci: PCIe driver for Marvell Armada 370/XP systems
> 4b765fb clk: mvebu: add more PCIe clocks for Armada XP
> af3bcd9 clk: mvebu: create parent-child relation for PCIe clocks on Armada 370
> 6cee09e arm: pci: add a align_resource hook
> 80fa698 pci: infrastructure to add drivers in drivers/pci/host
> 91ca5a7 of/pci: Provide support for parsing PCI DT ranges property
> e46b3e7 arm: plat-orion: remove addr-map code
> d11befe arm: mach-mv78xx0: convert to use the mvebu-mbus driver
> a508a65 arm: mach-orion5x: convert to use mvebu-mbus driver
> e249639 arm: mach-dove: convert to use mvebu-mbus driver
> 70efe5e arm: mach-kirkwood: convert to use mvebu-mbus driver
> 37e82515 arm: mach-mvebu: convert to use mvebu-mbus driver
> 035f910 bus: introduce an Marvell EBU MBus driver
> 527d658 arm: mach-orion5x: use mv_mbus_dram_info() in PCI code
> c1b44db arm: plat-orion: use mv_mbus_dram_info() in PCIe code
> 59463f4 arm: plat-orion: only build addr-map.c when needed
> 
> With those my AX3 works fine. If that can help, I can send them all to
> you off-list, in case you notice a minor difference with something.

Thanks for your help but I finally found the guilty commit, it was
"66d0539 net: mvneta: convert to percpu interrupt".

This commit was never submitted because finally I realized that it was
broken in SMP. Finally it was the commit "arm: mvebu: Use local
interrupt only for the timer 0" which was the correct solution.

With the first patch I had converted the mvneta driver to use percpu
IRQ, but as I explained in the log of the 2nd patch: "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."

So Greg, the solution is just to revert the commit 66d0539. I am going
to update the backport-3.8 branch in a couple of minutes.

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

  reply	other threads:[~2013-05-07 21:54 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-07 14:14 MVNETA irq with backport-3.8 Greg
2013-05-07 15:27 ` Maxime Ripard
2013-05-07 16:01   ` Greg
2013-05-07 16:18 ` Thomas Petazzoni
2013-05-07 16:33   ` Greg
2013-05-07 16:40   ` Greg
2013-05-07 21:27     ` Gregory CLEMENT
2013-05-07 21:42       ` Willy Tarreau
2013-05-07 21:54         ` Gregory CLEMENT [this message]
2013-05-07 22:12           ` Willy Tarreau
2013-05-10 16:43           ` Greg
2013-05-07 21:35     ` Willy Tarreau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51897810.8020002@free-electrons.com \
    --to=gregory.clement@free-electrons.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.