From: Arnd Bergmann <arnd@arndb.de>
To: Phil.Edworthy@renesas.com
Cc: Ben Dooks <ben.dooks@codethink.co.uk>,
Bjorn Helgaas <bhelgaas@google.com>,
devicetree@vger.kernel.org, Simon Horman <horms@verge.net.au>,
linux-pci@vger.kernel.org, linux-sh@vger.kernel.org,
Magnus Damm <magnus.damm@gmail.com>,
Valentine Barshak <valentine.barshak@cogentembedded.com>
Subject: Re: [PATCH 5/9] dt-bindings: pci: rcar pcie device tree bindings
Date: Thu, 13 Mar 2014 12:30:50 +0100 [thread overview]
Message-ID: <25998973.9XJTBOSo8s@wuerfel> (raw)
In-Reply-To: <OFF61489EE.B9ED2F88-ON80257C9A.00386B74-80257C9A.00398025@eu.necel.com>
On Thursday 13 March 2014 10:28:03 Phil.Edworthy@renesas.com wrote:
> On 13/03/2014 10:00, Arnd wrote:
> > On Thursday 13 March 2014 09:50:04 Phil Edworthy wrote:
> >
> > I see your description and example includes I/O regions, but the driver
> > claims in a comment that these don't work. Do you also have a patch to
> > make them work?
> Are you referring to the comment "The controller does not support/use port
> I/O" in the driver for the internal PCI controller (pci-rcar-gen2.c)?
> This is a separate block of hardware, it's a PCIe controller with external
> pins, for which we do support I/O regions.
Ok, thanks for the clarification.
> > > +- interrupts: interrupt values for MSI interrupt
> > > +- #interrupt-cells: set to <1>
> > > +- interrupt-map-mask and interrupt-map: standard PCI properties
> > > + to define the mapping of the PCIe interface to interrupt
> > > + numbers.
> > > +- clocks: from common clock binding: handle to pci clock.
> > > +- clock-names: from common clock binding: should be "pcie"
> > > +
> > > +Example:
> > > +
> > > +SoC specific DT Entry:
> > > +
> > > + pcie: pcie@0x01000000 {
> > > + compatible = "renesas,r8a7790-pcie";
> > > + reg = <0 0xfe000000 0 0x80000>;
> > > + #address-cells = <3>;
> > > + #size-cells = <2>;
> > > + device_type = "pci";
> > > + ranges = <0x01000000 0 0x00000000 0 0xfe100000 0 0x00100000
> > > + 0x02000000 0 0xfe200000 0 0xfe200000 0 0x00200000
> > > + 0x02000000 0 0x30000000 0 0x30000000 0 0x08000000
> > > + 0x42000000 0 0x38000000 0 0x38000000 0 0x08000000>;
> >
> > I'm curious about why there are two non-prefetchable regions. What is
> > the significance of this?
>
> The devices that have this PCIe controller both have a number of fixed,
> non-contiguous memory regions that can be used as PCIe windows. The ranges
> here map onto those fixed windows, i.e. if the CPU addresses of the ranges
> change it won't work. The first couple of windows are small, we use the
> first one for I/O, we decided that we may as well use the next small
> window for memory - otherwise we need to figure out a way to tell the
> driver to skip a window.
Ok, makes sense. Good to know that this actually works. An idea that
may be helpful in some corner cases: if you can set up the small window as
0x02000000 0 0 0 0xfe200000 0 0x00200000
or even
0x02000000 0 0 0 0xfe200000 0 0x00100000
0x02000000 0 0x00f00000 0 0xfe200000 0 0x00100000
then you will be able to map devices with legacy nonrelocatable ISA
memory BARs such as VGA cards that have PCI resources in the first MB
of bus space, and in the end of the first 16MB.
Arnd
next prev parent reply other threads:[~2014-03-13 11:31 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-13 9:49 [PATCH 0/9 v3] R-Car Gen2 PCIe host driver Phil Edworthy
2014-03-13 9:50 ` [PATCH 1/9 v3] PCI: host: rcar: Add Renesas R-Car PCIe driver Phil Edworthy
2014-03-20 16:41 ` Phil.Edworthy
2014-03-20 16:49 ` Ben Dooks
2014-03-13 9:50 ` [PATCH 2/9] PCI: host: rcar: Add MSI support Phil Edworthy
2014-03-13 9:50 ` [PATCH 3/9] ARM: shmobile: r8a7790: Add PCIe clock device tree nodes Phil Edworthy
2014-03-13 9:50 ` [PATCH 4/9] ARM: shmobile: r8a7791: " Phil Edworthy
2014-03-13 9:50 ` [PATCH 5/9] dt-bindings: pci: rcar pcie device tree bindings Phil Edworthy
2014-03-13 10:00 ` Arnd Bergmann
2014-03-13 10:28 ` Phil.Edworthy
2014-03-13 11:30 ` Arnd Bergmann [this message]
2014-03-13 9:50 ` [PATCH 6/9] ARM: shmobile: Add PCIe device tree nodes for R8A7790 Phil Edworthy
2014-03-13 9:50 ` [PATCH 7/9] ARM: shmobile: Add PCIe device tree nodes for R8A7791 Koelsch board Phil Edworthy
2014-03-13 9:50 ` [PATCH 8/9] ARM: koelsch: Add PCIe to defconfig Phil Edworthy
2014-03-13 9:50 ` [PATCH 9/9] ARM: koelsch: Add HAVE_ARM_ARCH_TIMER " Phil Edworthy
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=25998973.9XJTBOSo8s@wuerfel \
--to=arnd@arndb.de \
--cc=Phil.Edworthy@renesas.com \
--cc=ben.dooks@codethink.co.uk \
--cc=bhelgaas@google.com \
--cc=devicetree@vger.kernel.org \
--cc=horms@verge.net.au \
--cc=linux-pci@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=magnus.damm@gmail.com \
--cc=valentine.barshak@cogentembedded.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).