From: Stephen Hemminger <stephen@networkplumber.org>
To: Alex Williamson <alex.williamson@redhat.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
linux-pci@vger.kernel.org, David Woodhouse <dwmw2@infradead.org>,
iommu@lists.linux-foundation.org
Subject: Re: PCI warning on boot 3.8.0-rc1
Date: Mon, 4 Feb 2013 12:30:41 -0800 [thread overview]
Message-ID: <20130204123041.31e402df@nehalam.linuxnetplumber.net> (raw)
In-Reply-To: <1360009684.11144.539.camel@bling.home>
On Mon, 04 Feb 2013 13:28:04 -0700
Alex Williamson <alex.williamson@redhat.com> wrote:
> On Mon, 2013-02-04 at 10:36 -0800, Stephen Hemminger wrote:
> > > I think drivers/pci/search.c is identical between 3.7 and 3.8-rc1. Is
> > > this the first time you've turned on the IOMMU on that box?
> >
> > It exists in 3.7 and earlier kernels, just haven't turned on same config.
> >
> > > It's the same warning as in this bugzilla:
> > > https://bugzilla.kernel.org/show_bug.cgi?id=44881, and there's a patch
> > > there at https://bugzilla.kernel.org/show_bug.cgi?id=44881#c11, but
> > > it's just a quirk that turns off VT-d if we find certain broken
> > > bridges. It doesn't look like you have any of those (although I don't
> > > know what you have at 05:00.0).
> > >
> > > Bjorn
> >
> > This is a standard ASUS motherboard, and don't want to disable VT-d.
>
> Stephen,
>
> Can you give the lspci -vvv of device 5:00.0 to see if it's one we've
> seen before? Does the patch below help?
$ sudo lspci -vvv -s 5:00.0
05:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 03) (prog-if 01 [Subtractive decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Bus: primary=05, secondary=06, subordinate=06, sec-latency=32
I/O behind bridge: 0000f000-00000fff
Memory behind bridge: fff00000-000fffff
Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
Secondary status: 66MHz+ FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [c0] Subsystem: ASUSTeK Computer Inc. Device 8489
> Bjorn, I think we need to quirk it somehow. So far they've all been
> PCI-to-PCI bridges attached to root ports where we expect it's actually
> a PCIe-to-PCI bridge. Seems like maybe we could have the same attached
> to a downstream port. The patch below avoids the WARN and gives us a
> device, but of course pci_is_pcie reports wrong for this device and may
> cause some trickle down breakage. A more complete option might be to
> add a is_pcie flag to the device that can be set independent of
> pcie_cap. We'd need to check all the callers for assumptions, but then
> we could put the quirk in one place and hopefully fix everything.
> Thoughts? Thanks,
>
> Alex
>
>
> diff --git a/drivers/pci/search.c b/drivers/pci/search.c
> index bf969ba..65ae270 100644
> --- a/drivers/pci/search.c
> +++ b/drivers/pci/search.c
> @@ -42,6 +42,15 @@ pci_find_upstream_pcie_bridge(struct pci_dev *pdev)
> }
> /* PCI device should connect to a PCIe bridge */
> if (pci_pcie_type(pdev) != PCI_EXP_TYPE_PCI_BRIDGE) {
> + /*
> + * Not all PCIe-to-PCI bridges expose a PCIe
> + * capability. If we make it to a PCIe root port
> + * and the previous device was a PCI-to-PCI bridge,
> + * assume it was really a PCIe-to-PCI bridge.
> + */
> + if (pci_pcie_type(pdev) == PCI_EXP_TYPE_ROOT_PORT &&
> + tmp && tmp->hdr_type == PCI_HEADER_TYPE_BRIDGE)
> + return tmp;
> /* Busted hardware? */
> WARN_ON_ONCE(1);
> return NULL;
>
>
next prev parent reply other threads:[~2013-02-04 20:30 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-16 22:38 PCI warning on boot 3.8.0-rc1 Stephen Hemminger
2013-01-30 21:59 ` Bjorn Helgaas
2013-02-04 18:36 ` Stephen Hemminger
[not found] ` <20130204103645.38ae2d5e-We1ePj4FEcvRI77zikRAJc56i+j3xesD0e7PPNI6Mm0@public.gmane.org>
2013-02-04 20:28 ` Alex Williamson
2013-02-04 20:28 ` Alex Williamson
2013-02-04 20:30 ` Stephen Hemminger [this message]
[not found] ` <20130204123041.31e402df-We1ePj4FEcvRI77zikRAJc56i+j3xesD0e7PPNI6Mm0@public.gmane.org>
2013-02-04 20:36 ` Alex Williamson
2013-02-04 20:36 ` Alex Williamson
[not found] ` <1360009684.11144.539.camel-xdHQ/5r00wBBDLzU/O5InQ@public.gmane.org>
2013-02-04 22:41 ` Alex Williamson
2013-02-04 22:41 ` Alex Williamson
2013-02-05 1:36 ` Stephen Hemminger
2013-02-06 15:49 ` Stephen Hemminger
[not found] ` <20130206074900.02f04e3f-We1ePj4FEcvRI77zikRAJc56i+j3xesD0e7PPNI6Mm0@public.gmane.org>
2013-02-06 15:58 ` Alex Williamson
2013-02-06 15:58 ` Alex Williamson
2013-02-12 4:15 ` Alex Williamson
2013-02-12 18:33 ` Stephen Hemminger
2013-04-10 22:36 ` Bjorn Helgaas
[not found] ` <20130410223650.GA6109-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2013-04-11 0:01 ` Alex Williamson
2013-04-11 0:01 ` Alex Williamson
2013-04-11 17:23 ` Bjorn Helgaas
[not found] ` <CAErSpo4Nn9wsoaNxKZbHfU79w1t9C9Y3iHei5_bJpPjRZHSAow-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-15 19:12 ` Alex Williamson
2013-04-15 19:12 ` Alex Williamson
[not found] ` <1366053154.2918.180.camel-xdHQ/5r00wBBDLzU/O5InQ@public.gmane.org>
2013-04-15 19:29 ` Bjorn Helgaas
2013-04-15 19:29 ` Bjorn Helgaas
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=20130204123041.31e402df@nehalam.linuxnetplumber.net \
--to=stephen@networkplumber.org \
--cc=alex.williamson@redhat.com \
--cc=bhelgaas@google.com \
--cc=dwmw2@infradead.org \
--cc=iommu@lists.linux-foundation.org \
--cc=linux-pci@vger.kernel.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.