From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Greg KH <gregkh@suse.de>, Matthew Wilcox <matthew@wil.cx>,
Shaohua Li <shaohua.li@intel.com>,
lkml <linux-kernel@vger.kernel.org>,
linux-pci <linux-pci@atrey.karlin.mff.cuni.cz>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH]PCI:disable resource decode in PCI BAR detection
Date: Tue, 18 Sep 2007 06:30:23 +1000 [thread overview]
Message-ID: <1190061024.6403.64.camel@localhost.localdomain> (raw)
In-Reply-To: <20070917142241.C21399@jurassic.park.msu.ru>
On Mon, 2007-09-17 at 14:22 +0400, Ivan Kokshaysky wrote:
> On Sun, Sep 16, 2007 at 10:01:52PM +0200, Benjamin Herrenschmidt wrote:
> > Agreed. I have a similar problem on ppc where it's common to have things
> > like the main PIC on a PCI device. Note that another problem is (or at
> > least was, i haven't checked recently) the P2P bridge scanning code
> > that, in a similar way, can block the path to all devices below it. I
> > -do- have a case for example with Apple Xserve G4's where the main Apple
> > IO ASIC, which is a PCI device containing the PIC, the power management
> > controller, and various low level system control IOs is behind a pair of
> > P2P bridges.
>
> I think the P2P probing code is pretty safe now - there are read-only
> accesses to the bridge config, unless you request to reassign the bus
> numbers. Though it won't be safe anymore with the patch in question.
In which case I will need to NAK the patch... Note that those Xserve
G4's still have the subtle issue that they -also- reassign bus
numbers :-) But that's going away the day I finally enable domains
support for ppc32 (it's been off for now due to problems with X)
> > One solution for us (PPC) is to enforce those devices and bridges to be
> > described in the OF tree, and generalize a bit the code we have for some
> > 64 bits machines, that synthetizes the pci_dev's from the OF nodes
> > rather than probing. But that's not going to help other archs.
>
> If you can get reliable PCI info from firmware, it should be relatively easy
> to avoid at least a bar sizing. You can install an "early" fixup for
> PCI_ANY_ID and fill the resource fields of the pci_dev with values obtained
> from firmware. Then all we need in probe.c is just to check that the resource
> is already non-zero and skip the sizing of respective BAR, if so.
Right now, we have code to completely build a pci_dev from the firmware
infos. We only use it on 64 bits pseries currently though.
> > In fact, that's a problem we also have with
> > pci_assign_unassigned_resources() which will happily move things around
> > that must not be moved, especially when sitting behind P2P bridges.
>
> It's not supposed to do that. Certainly, there were problems of that sort,
> but hopefully they are in the past.
At this stage (but we are getting a bit OT), ppc has something like 3
different PCI code implementations :-) I do have some plans to fix that
by switching everybody to use pci_assign_unassigned_resources() and
friends but last time I tried, everything blew up :-) I suspect I'll
need a quirk or two in the generic code, but I'll let you know when I
get to it.
Cheers,
Ben.
next prev parent reply other threads:[~2007-09-17 20:31 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-13 6:21 [PATCH]PCI:disable resource decode in PCI BAR detection Shaohua Li
2007-09-13 7:31 ` Matthew Wilcox
2007-09-13 7:24 ` Shaohua Li
2007-09-13 7:55 ` Matthew Wilcox
2007-09-13 9:53 ` Greg KH
2007-09-13 11:16 ` Ivan Kokshaysky
2007-09-13 12:00 ` Greg KH
2007-09-16 20:01 ` Benjamin Herrenschmidt
2007-09-17 10:22 ` Ivan Kokshaysky
2007-09-17 20:30 ` Benjamin Herrenschmidt [this message]
2007-09-18 9:54 ` Ivan Kokshaysky
[not found] <fa.ggBqx6W3i6hfs6jdfg64oXKSxW8@ifi.uio.no>
[not found] ` <fa.o5cJ0O7pLVWRzUiVPDEZL6nKqA8@ifi.uio.no>
[not found] ` <fa.tyYt4GOpTOmJTUbzsxpiCAObJPQ@ifi.uio.no>
[not found] ` <fa.13eJumylqINOxOaoEj9cthw0d0M@ifi.uio.no>
[not found] ` <fa.tAIuIM02CoL+ixB11n9Fmcqyz9M@ifi.uio.no>
[not found] ` <fa.pxFYhTaUz2NVN7Vux7b5xVRrKTw@ifi.uio.no>
2007-09-14 3:32 ` Robert Hancock
2007-09-14 11:14 ` Ivan Kokshaysky
2007-09-14 11:33 ` Ivan Kokshaysky
2007-09-14 14:30 ` Robert Hancock
2007-09-14 15:29 ` Ivan Kokshaysky
2007-09-14 23:53 ` Robert Hancock
2007-09-15 5:55 ` Yinghai Lu
2007-09-16 11:13 ` Ivan Kokshaysky
2007-09-16 17:34 ` Robert Hancock
2007-09-17 9:20 ` Ivan Kokshaysky
2007-09-16 19:52 ` Matthew Wilcox
2007-09-17 9:31 ` Ivan Kokshaysky
2007-09-17 14:30 ` Robert Hancock
2007-09-17 1:21 ` Shaohua Li
2007-09-18 9:53 ` Ivan Kokshaysky
2007-09-19 21:34 ` Jesse Barnes
2007-09-16 20:06 ` Benjamin Herrenschmidt
2007-09-16 23:37 ` Robert Hancock
2007-09-17 0:21 ` Benjamin Herrenschmidt
[not found] ` <fa.0Edi0qLTdvqVnuoDAebaTVz1jEM@ifi.uio.no>
[not found] ` <fa.sq+NimBnzGB2syLmvcIGOvDkixI@ifi.uio.no>
[not found] ` <fa.G9DPndNUxuPi5LrUTOL4uPFshnc@ifi.uio.no>
2007-09-26 23:01 ` Robert Hancock
2007-09-27 0:40 ` Benjamin Herrenschmidt
2007-09-27 2:14 ` Matthew Wilcox
[not found] <fa.+WRenB38novq157RnGPLoU4q2XI@ifi.uio.no>
[not found] ` <fa.mM7Va6Nlsaduo/AF4MkeurSBTbs@ifi.uio.no>
[not found] ` <fa.Ff0IMhMYWp7NYEdjO0AftHzVOh4@ifi.uio.no>
[not found] ` <fa.d9zBdhHd9gKcJbtwrYguusbECo4@ifi.uio.no>
[not found] ` <fa.TLO57rS9iV7zhomQxJbV9gjbxx8@ifi.uio.no>
[not found] ` <fa.lPg6OSzX+f6jdXK1ZF0rlIhZok4@ifi.uio.no>
2007-09-15 20:24 ` Robert Hancock
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=1190061024.6403.64.camel@localhost.localdomain \
--to=benh@kernel.crashing.org \
--cc=akpm@linux-foundation.org \
--cc=gregkh@suse.de \
--cc=ink@jurassic.park.msu.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@atrey.karlin.mff.cuni.cz \
--cc=matthew@wil.cx \
--cc=shaohua.li@intel.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 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.