From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Ayman El-Khashab <AymanE@tanisys.com>
Cc: Stefan Roese <sr@denx.de>,
linuxppc-dev@ozlabs.org, Victor Gallardo <vgallardo@amcc.com>
Subject: Re: Problems with PCI-E devices not being detected with switch
Date: Thu, 16 Oct 2008 16:20:22 +1100 [thread overview]
Message-ID: <1224134422.8157.549.camel@pasglop> (raw)
In-Reply-To: <16691A8B34B5D9458EA3A1C37A11555A0137F81E@tanisys-ex2.Tanisys.Local>
On Wed, 2008-10-15 at 10:47 -0500, Ayman El-Khashab wrote:
Note for people on CC: This is a problem on 460EX on a canyonland using
the 4x port.
> The problem occurs when Linux boots. It sees the switch (and looking
> in /sys/bus/... confirms it), but nothing on the downstream sides of
> the switch (secondary busses) is visible. There were no boot messages
> to indicate it had seen the Sil 3531 and it doesn't function. We've
> also tried other PCI-E devices (NI GPIB) on the downstream side and
> they are also not detected, so it seems to be something in Linux, my
> configuration, etc. I've included the boot messages below from u-boot
> and the kernel. It is more than just the pci boot messages, but I was
> not sure if something else in the log with provide some insight.
The messages below look really fishy indeed:
> pci 0001:02:00.0: unknown header type 03, ignoring device
> pci 0001:02:01.0: unknown header type 41, ignoring device
> pci 0001:02:02.0: unknown header type 03, ignoring device
> pci 0001:02:03.0: unknown header type 41, ignoring device
> pci 0001:02:04.0: ignoring class 1d09 (doesn't match header type 02)
> pci 0001:02:05.0: unknown header type 41, ignoring device
> pci 0001:02:06.0: ignoring class 1d09 (doesn't match header type 02)
> pci 0001:02:07.0: unknown header type 41, ignoring device
> pci 0001:02:08.0: unknown header type 03, ignoring device
> pci 0001:02:09.0: unknown header type 41, ignoring device
> pci 0001:02:0a.0: ignoring class 7d09 (doesn't match header type 02)
> pci 0001:02:0b.0: unknown header type 41, ignoring device
> pci 0001:02:0c.0: ignoring class 1d01 (doesn't match header type 02)
> pci 0001:02:0d.0: unknown header type 41, ignoring device
> pci 0001:02:0e.0: ignoring class 7d09 (doesn't match header type 02)
> pci 0001:02:0f.0: unknown header type 41, ignoring device
> pci 0001:02:10.0: unknown header type 03, ignoring device
> pci 0001:02:11.0: unknown header type 41, ignoring device
> pci 0001:02:12.0: unknown header type 03, ignoring device
> pci 0001:02:13.0: unknown header type 41, ignoring device
> pci 0001:02:14.0: unknown header type 03, ignoring device
> pci 0001:02:15.0: unknown header type 41, ignoring device
> pci 0001:02:16.0: ignoring class 3d09 (doesn't match header type 02)
> pci 0001:02:17.0: unknown header type 41, ignoring device
> pci 0001:02:18.0: unknown header type 03, ignoring device
> pci 0001:02:19.0: unknown header type 41, ignoring device
> pci 0001:02:1a.0: unknown header type 03, ignoring device
> pci 0001:02:1b.0: unknown header type 41, ignoring device
> pci 0001:02:1c.0: ignoring class 5d01 (doesn't match header type 02)
> pci 0001:02:1d.0: unknown header type 41, ignoring device
> pci 0001:02:1e.0: unknown header type 03, ignoring device
> pci 0001:02:1f.0: unknown header type 41, ignoring device
Stefan, do you reckon it could be that we aren't leaving enough time
for the things behind the switch to initialize ? Or could there be
a subtle kernel bug here ? It looks to me that config space
access behind the switch is broken.
Ayman, can you try adding a long delay (such as msleep(5000), ie 5s)
at the beginning of pcibios_init() in arch/powerpc/kernel/pci_32.c ?
This will add 5s delay between the init/reset of the port and the
probing by linux. Do that help ?
Stefan, shouldn't we find a nice way to avoid the whole port reset and
reconfiguration of the HW also when uboot already did a good enough job,
maybe via some device-tree property ? It would also significantly speed
up boot times.
Cheers,
Ben.
next prev parent reply other threads:[~2008-10-16 5:20 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-15 15:47 Problems with PCI-E devices not being detected with switch Ayman El-Khashab
2008-10-16 5:20 ` Benjamin Herrenschmidt [this message]
2008-10-16 8:03 ` Stefan Roese
2008-10-16 8:29 ` Benjamin Herrenschmidt
2008-10-16 8:48 ` Stefan Roese
2008-10-16 8:58 ` Benjamin Herrenschmidt
2008-10-16 15:01 ` Ayman El-Khashab
2008-10-16 21:19 ` Benjamin Herrenschmidt
2008-10-17 0:10 ` Benjamin Herrenschmidt
2008-10-17 7:22 ` Stefan Roese
2008-10-17 14:54 ` Ayman El-Khashab
2008-10-17 21:05 ` Benjamin Herrenschmidt
2008-10-17 21:19 ` Benjamin Herrenschmidt
2008-10-20 21:03 ` Ayman El-Khashab
2008-10-20 21:57 ` Benjamin Herrenschmidt
2008-10-20 22:14 ` Ayman El-Khashab
2008-10-20 22:55 ` Benjamin Herrenschmidt
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=1224134422.8157.549.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=AymanE@tanisys.com \
--cc=linuxppc-dev@ozlabs.org \
--cc=sr@denx.de \
--cc=vgallardo@amcc.com \
/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).