From: thomas.petazzoni@free-electrons.com (Thomas Petazzoni)
To: linux-arm-kernel@lists.infradead.org
Subject: Intel I350 mini-PCIe card (igb) on Mirabox (mvebu / Armada 370)
Date: Tue, 25 Mar 2014 21:36:38 +0100 [thread overview]
Message-ID: <20140325213638.5aba54b6@skate> (raw)
In-Reply-To: <20140325202249.GA10378@obsidianresearch.com>
Jason, Neil,
On Tue, 25 Mar 2014 14:22:49 -0600, Jason Gunthorpe wrote:
> > mirabox ~ # lspci
> > 00:01.0 PCI bridge: Marvell Technology Group Ltd. Device 6710 (rev 01)
> > 00:02.0 PCI bridge: Marvell Technology Group Ltd. Device 6710 (rev 01)
> > 02:00.0 USB controller: Fresco Logic FL1009 USB 3.0 Host Controller (rev 02)
>
> A starting guess is that something to do with the reset sequence is
> not long enough. PCI requires a certain time in-reset before a device
> is required to respond to configuration... Depending on what your
> bootloader does Linux might be the first thing to enable the link. Add
> a 1 second sleep to the mvebu driver before the bus scan and see if
> that helps?
>
> > Output from dmesg after boot: https://gist.github.com/ngreatorex/9769713
> > Output of "lspci -vvv" after boot: https://gist.github.com/ngreatorex/9769732
> >
> > Now for the strange part - if I do an "echo 1 > /sys/bus/pci/rescan"
> > it detects the network card, but I get an oops. It doesn't work,
> > presumably due to the oops, but it shows up in lspci:
> >
> > mirabox ~ # lspci
> > 00:01.0 PCI bridge: Marvell Technology Group Ltd. Device 6710 (rev 01)
> > 00:02.0 PCI bridge: Marvell Technology Group Ltd. Device 6710 (rev 01)
> > 01:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network
> > Connection (rev 01)
> > 01:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network
> > Connection (rev 01)
>
> > 02:00.0 USB controller: Fresco Logic FL1009 USB 3.0 Host Controller (rev ff)
> > 03:00.0 USB controller: Fresco Logic FL1009 USB 3.0 Host Controller (rev 02) (prog-if 30 [XHCI])
> ^^^^^^^^^^^
>
> That is *really* weird looking - plus this:
>
> 02:00.0 USB controller: Fresco Logic FL1009 USB 3.0 Host Controller (rev ff) (prog-if ff)
> !!! Unknown header type 7f
> Kernel driver in use: xhci_hcd
>
> Something really wonky happend here during the rescan. It looks like
> for some reason the USB controller was seen on the wrong port for a
> short time!? It would be awesome to track this down..
We have recently identified a weird thing on Armada 38x, maybe previous
revisions are affected as well. We haven't fully understood the problem
yet, but the following patch allows PCIe devices to be detected in all
situations on Armada 38x. It seems like setting the local device number
requires "some time" to be taken into account.
Neil, could you test the below patch:
diff --git a/drivers/pci/host/pci-mvebu.c b/drivers/pci/host/pci-mvebu.c
index 13478ec..350b115 100644
--- a/drivers/pci/host/pci-mvebu.c
+++ b/drivers/pci/host/pci-mvebu.c
@@ -983,6 +983,7 @@ static int mvebu_pcie_probe(struct platform_device *pdev)
}
mvebu_pcie_set_local_dev_nr(port, 1);
+ udelay(100);
port->dn = child;
spin_lock_init(&port->conf_lock);
It will clearly not solve the MSI-X panic, but maybe the PCIe device
detection problem at boot time. It would be nice if you could check
this, and also see if the weird Fresco double instance disappears.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
next prev parent reply other threads:[~2014-03-25 20:36 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-25 20:07 Intel I350 mini-PCIe card (igb) on Mirabox (mvebu / Armada 370) Neil Greatorex
2014-03-25 20:20 ` Thomas Petazzoni
2014-03-25 21:03 ` Willy Tarreau
2014-03-25 20:22 ` Jason Gunthorpe
2014-03-25 20:36 ` Thomas Petazzoni [this message]
2014-03-25 21:12 ` Jason Gunthorpe
2014-03-25 21:23 ` Thomas Petazzoni
2014-03-25 22:03 ` Neil Greatorex
2014-03-25 22:24 ` Jason Gunthorpe
2014-03-25 22:35 ` Jason Gunthorpe
2014-03-26 19:31 ` Neil Greatorex
2014-03-26 20:12 ` Jason Gunthorpe
2014-03-26 20:34 ` Neil Greatorex
2014-03-26 21:42 ` Jason Gunthorpe
2014-03-26 21:52 ` Thomas Petazzoni
2014-03-27 0:29 ` Neil Greatorex
2014-03-27 4:40 ` Jason Gunthorpe
2014-03-28 1:03 ` Neil Greatorex
2014-03-28 2:04 ` Jason Gunthorpe
2014-04-04 13:19 ` Neil Greatorex
2014-04-05 17:32 ` Willy Tarreau
2014-04-05 17:34 ` Thomas Petazzoni
2014-04-05 18:04 ` Willy Tarreau
2014-04-05 18:55 ` Neil Greatorex
2014-04-05 19:03 ` Willy Tarreau
2014-04-05 19:00 ` Neil Greatorex
2014-04-06 15:34 ` Neil Greatorex
2014-04-06 17:43 ` Willy Tarreau
2014-04-08 15:13 ` Thomas Petazzoni
2014-04-08 15:40 ` Thomas Petazzoni
2014-04-08 15:55 ` Thomas Petazzoni
2014-04-08 16:02 ` Matthew Minter
2014-04-08 17:14 ` Jason Gunthorpe
2014-04-08 17:53 ` Willy Tarreau
2014-04-08 18:08 ` Jason Gunthorpe
2014-04-08 18:15 ` Thomas Petazzoni
2014-04-08 18:40 ` Jason Gunthorpe
2014-04-08 19:15 ` Willy Tarreau
2014-04-08 19:21 ` Jason Gunthorpe
2014-04-08 20:17 ` Matthew Minter
2014-04-08 21:50 ` Thomas Petazzoni
2014-04-08 20:19 ` Neil Greatorex
2014-04-08 20:43 ` Willy Tarreau
2014-04-08 18:01 ` Thomas Petazzoni
2014-04-08 18:22 ` Jason Gunthorpe
2014-04-08 18:32 ` Thomas Petazzoni
2014-04-08 15:53 ` Willy Tarreau
2014-04-08 16:00 ` Thomas Petazzoni
2014-04-08 16:05 ` Willy Tarreau
2014-04-06 18:58 ` Willy Tarreau
2014-04-06 19:11 ` Thomas Petazzoni
2014-04-06 21:57 ` Neil Greatorex
2014-04-06 22:04 ` Willy Tarreau
2014-04-06 22:16 ` Thomas Petazzoni
2014-04-07 0:50 ` Neil Greatorex
2014-04-07 17:41 ` Jason Gunthorpe
2014-04-07 19:41 ` Neil Greatorex
2014-04-07 20:48 ` Jason Gunthorpe
2014-04-07 21:58 ` Neil Greatorex
2014-04-08 6:28 ` Willy Tarreau
2014-04-08 6:40 ` Willy Tarreau
2014-04-08 10:53 ` Matthew Minter
2014-04-08 12:31 ` Matthew Minter
2014-04-08 12:36 ` Willy Tarreau
2014-04-08 14:43 ` Thomas Petazzoni
2014-04-08 14:52 ` Matthew Minter
2014-04-08 14:53 ` Willy Tarreau
2014-04-08 15:25 ` Thomas Petazzoni
2014-04-08 17:56 ` 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=20140325213638.5aba54b6@skate \
--to=thomas.petazzoni@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).