Linux PCI subsystem development
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Liviu Dudau <Liviu.Dudau@arm.com>
Cc: Rob Herring <robherring2@gmail.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Russell King <linux@arm.linux.org.uk>,
	"linus.walleij@linaro.org" <linus.walleij@linaro.org>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>
Subject: Re: [PATCH 0/3] Versatile PCI DT support
Date: Fri, 28 Mar 2014 17:28:35 +0100	[thread overview]
Message-ID: <5650118.DZNeEh1F94@wuerfel> (raw)
In-Reply-To: <20140328162137.GA17163@e106497-lin.cambridge.arm.com>

On Friday 28 March 2014 16:21:38 Liviu Dudau wrote:
> On Fri, Mar 28, 2014 at 03:20:20PM +0000, Rob Herring wrote:
> > On Fri, Mar 28, 2014 at 9:57 AM, Liviu Dudau <Liviu.Dudau@arm.com> wrote:
> > > PCI core? It knows nothing of the Versatile registers. Versatile core code? Maybe.
> > 
> > These are all standard config space registers based on the offsets and
> > documentation. The only thing that I think might make this Versatile
> > specific is a host bridge having its own config space at all is
> > optional.
> 
> Sorry, got confused by your CSR_OFFSET macro into thinking it's Versatile specific (I
> still cannot get hold of the SP810 manual, sigh). Why don't you use PCI_COMMAND ?

While it's not uncommon to have PCI host controllers use a similar
layout for their own registers as the normal config space, I believe
this is not standardized anywhere. It may be better not to pretend
that this is a standard register.

> For PCIe the spec is a bit more forgiving is you use ECAM, although it doesn't
> explicitly allow writes to the config space of the host bridge. From PCI Express
> Base spec, rev 3.0:
> 
> 	7.2.2.1. Host Bridge Requirements 
> 	For those systems that implement the ECAM, the PCI Express Host Bridge is
> 	required to translate the memory-mapped PCI Express Configuration Space
> 	accesses from the host processor to PCI Express configuration transactions.
> 	The use of Host Bridge PCI class code is Reserved for backwards compatibility;
> 	host Bridge Configuration Space is opaque to standard PCI Express software
> 	and may be implemented in an implementation specific manner that is compatible
> 	with PCI Host Bridge Type 0 Configuration Space.  A PCI Express Host Bridge is
> 	not required to signal errors through a Root Complex Event Collector.  This
> 	support is optional for PCI Express Host Bridges. 
> 
> So it looks like you need to do those in the host bridge probe function, rather than
> in a generic way.

Right. FWIW, the reason why these have a normal register layout seems to be
that the same hardware is used for host controller and endpoint devices.

	Arnd

  reply	other threads:[~2014-03-28 16:28 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-27 22:46 [PATCH 0/3] Versatile PCI DT support Rob Herring
2014-03-27 22:46 ` [PATCH 1/3] ARM: hackup pcibios support for commmon bridge code Rob Herring
2014-04-24 23:20   ` Bjorn Helgaas
2014-04-24 23:54     ` Rob Herring
2014-03-27 22:46 ` [PATCH 2/3] dt/bindings: add versatile PCI binding Rob Herring
2014-03-27 22:46 ` [PATCH 3/3] pci: add DT based ARM Versatile PCI host driver Rob Herring
2014-04-24 23:24   ` Bjorn Helgaas
2014-04-24 23:37     ` Rob Herring
2014-04-25  0:06       ` Bjorn Helgaas
2014-03-28 11:46 ` [PATCH 0/3] Versatile PCI DT support Liviu Dudau
2014-03-28 13:27   ` Rob Herring
2014-03-28 14:57     ` Liviu Dudau
2014-03-28 15:20       ` Rob Herring
2014-03-28 16:21         ` Liviu Dudau
2014-03-28 16:28           ` Arnd Bergmann [this message]
2014-04-24 23:10 ` 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=5650118.DZNeEh1F94@wuerfel \
    --to=arnd@arndb.de \
    --cc=Liviu.Dudau@arm.com \
    --cc=bhelgaas@google.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=robherring2@gmail.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