From: jgunthorpe@obsidianresearch.com (Jason Gunthorpe)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 2/4] arm64: dts: APM X-Gene PCIe device tree nodes
Date: Wed, 16 Apr 2014 19:24:34 -0600 [thread overview]
Message-ID: <20140417012434.GA8734@obsidianresearch.com> (raw)
In-Reply-To: <20140417002041.GE4858@bart>
On Thu, Apr 17, 2014 at 01:20:42AM +0100, Liviu Dudau wrote:
> > No spec says you can put config space into the ranges at all, nobody
> > should be doing that today, obviously some cases were missed during
> > review..
>
> ePAPR documents allows that when ss == 00.
Which do you mean? The 'PCI Bus Binding' spec has fairly specific
language on how ranges should be used and interpreted, and it
precludes doing anything meaningful with config space (like requiring
b,d,f and r to be zeroed when doing compares against ranges, requiring
the ranges to represent the bridge windows, etc).
There is certainly room to invent something (like ECAM mapping) but
nothing is specified in that document.
The ePAPR document I have doesn't talk about PCI..
If you've found a document that defines how it works then that changes
things.. ;)
> > The comment about ECAM was intended as a general guidance on what
> > config space in ranges could/should be used for.
> >
> > Right now config space shouldn't propagate out side any driver, so you
> > can probably just filter it in your generic code, and make it very hard
> > and obviously wrong for a driver to parse ranges for config space, so
> > we don't get more usages.
>
> OK, this goes slightly against your email from 26th March:
>
> "When we talked about this earlier on the DT bindings list the
> consensus seemed to be that configuration MMIO ranges should only be
> used if the underlying memory was exactly ECAM, and was not to be used
> for random configuration related register blocks.
>
> The rational being that generic code, upon seeing that ranges entry,
> could just go ahead and assume ECAM mapping."
>
> What I'm saying is that the only code that will see this ranges entry will
> be the parsing code as if we try to create a resource out of the range
> and add it to the host bridge structure (not driver) we will confuse the
> rest of the pci_host_bridge API. So we cannot do any ECAM accesses (yet?).
Sorry if this seems unclear, what you quoted was from a specification
standpoint - someday defining config space ranges to be the ECAM
window makes the most sense. This is from the direction of precluding
drivers from using it for random purposes.
>From a Linux standpoint, there is simply no infrastructure for generic
config access outside the driver, so config space must remain
contained in the driver, and shouldn't leak into the host bridge or
other core structures.
I think the shared code you are working on should simply ignore config
ss ranges entirely, they have no defined meaning..
Regards,
Jason
next prev parent reply other threads:[~2014-04-17 1:24 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-19 23:12 [PATCH v5 0/4] APM X-Gene PCIe controller Tanmay Inamdar
2014-03-19 23:12 ` [PATCH v5 1/4] pci: APM X-Gene PCIe controller driver Tanmay Inamdar
2014-03-21 10:15 ` Sunil Kovvuri
2014-03-21 18:23 ` Tanmay Inamdar
2014-03-25 14:05 ` Liviu Dudau
2014-03-25 19:56 ` Bjorn Helgaas
2014-03-25 8:52 ` Phil.Edworthy at renesas.com
2014-03-25 21:52 ` Tanmay Inamdar
2014-03-25 14:02 ` Liviu Dudau
2014-03-25 22:12 ` Tanmay Inamdar
2014-03-26 10:13 ` Liviu Dudau
2014-03-19 23:12 ` [PATCH v5 2/4] arm64: dts: APM X-Gene PCIe device tree nodes Tanmay Inamdar
2014-03-26 14:28 ` Rob Herring
2014-03-26 15:35 ` Liviu Dudau
2014-03-26 16:35 ` Jason Gunthorpe
2014-04-16 17:05 ` Liviu Dudau
2014-04-16 21:21 ` Jason Gunthorpe
2014-04-17 0:20 ` Liviu Dudau
2014-04-17 1:24 ` Jason Gunthorpe [this message]
2014-04-22 12:49 ` Liviu Dudau
2014-03-19 23:12 ` [PATCH v5 3/4] dt-bindings: pci: xgene pcie device tree bindings Tanmay Inamdar
2014-03-19 23:12 ` [PATCH v5 4/4] MAINTAINERS: entry for APM X-Gene PCIe host driver Tanmay Inamdar
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=20140417012434.GA8734@obsidianresearch.com \
--to=jgunthorpe@obsidianresearch.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).