From: arnd@arndb•de (Arnd Bergmann)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH v3 11/12] ARM: mvebu: Relocate Armada 370 PCIe device tree nodes
Date: Tue, 18 Jun 2013 23:35:50 +0200 [thread overview]
Message-ID: <201306182335.50722.arnd@arndb.de> (raw)
In-Reply-To: <1371554737-25319-12-git-send-email-ezequiel.garcia@free-electrons.com>
On Tuesday 18 June 2013, Ezequiel Garcia wrote:
> +
> + ranges =
> + <0x82000000 0 0x40000 0xffff0001 0x40000 0 0x00002000
> + 0x82000000 0 0x80000 0xffff0001 0x80000 0 0x00002000
> + 0x82000000 0 0xe0000000 0xffff0002 0 0 0x08000000
> + 0x81000000 0 0 0xffff0002 0x8000000 0 0x00100000>;
As pointed out on IRC, this is not a good representation of the memory space,
since it requires a non-zero sys->mem_offset, and it conflicts with the straight
mapping I suggested.
I think it should be
0x82000000 0 0xe0000000 0xffff0002 0 0xe0000000 0x08000000
if we want to encode the aperture in the ranges property here, i.e. have
a 1:1 mapping between PCI memory space and MBUS space, and in mbus,
you need the corresponding
- 0xffff0002 0 0xe0000000 0x8100000
+ 0xffff0002 0xe0000000 0xe0000000 0x8100000
so that mbus actually translates the right addresses. You could also
have the PCI memory space start at 0, which would mean
0x82000000 0 0 0xffff0002 0 0 0x08000000
and
0xffff0002 0 0xe0000000 0x8100000
Note that the driver doesn't actually handle the generic case correctly, you would
need to apply this patch
diff --git a/drivers/pci/host/pci-mvebu.c b/drivers/pci/host/pci-mvebu.c
index 13a633b..aa674f4 100644
--- a/drivers/pci/host/pci-mvebu.c
+++ b/drivers/pci/host/pci-mvebu.c
@@ -790,6 +790,7 @@ static int __init mvebu_pcie_probe(struct platform_device *pdev)
}
if (restype == IORESOURCE_MEM) {
of_pci_range_to_resource(&range, np, &pcie->mem);
+ sys->mem_offset = range.cpu_addr - range.pci_addr;
pcie->mem.name = "MEM";
}
}
to deal with the generic case where the bus address is different from the
CPU address.
Arnd
next prev parent reply other threads:[~2013-06-18 21:35 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-18 11:25 [PATCH v3 00/12] MBus device tree binding Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 01/12] bus: mvebu-mbus: Factor out initialization details Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 02/12] bus: mvebu-mbus: Introduce device tree binding Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 03/12] bus: mvebu-mbus: Add static window allocation to the DT binding Ezequiel Garcia
2013-06-18 16:14 ` Arnd Bergmann
2013-06-18 17:12 ` Thomas Petazzoni
2013-06-18 17:16 ` Arnd Bergmann
2013-06-18 21:34 ` Ezequiel Garcia
2013-06-18 21:45 ` Arnd Bergmann
2013-06-19 18:52 ` Ezequiel Garcia
2013-06-19 19:08 ` Arnd Bergmann
2013-06-19 19:29 ` Ezequiel Garcia
2013-06-19 19:37 ` Jason Cooper
2013-06-18 17:46 ` Jason Gunthorpe
2013-06-18 18:24 ` Sebastian Hesselbarth
2013-06-18 18:39 ` Arnd Bergmann
2013-06-18 18:44 ` Sebastian Hesselbarth
2013-06-18 18:47 ` Jason Gunthorpe
2013-06-18 18:59 ` Sebastian Hesselbarth
2013-06-18 19:10 ` Jason Gunthorpe
2013-06-18 19:27 ` Sebastian Hesselbarth
2013-06-18 20:49 ` Ezequiel Garcia
2013-06-18 20:55 ` Jason Gunthorpe
2013-06-18 21:10 ` Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 04/12] ARM: mvebu: Initialize MBus using " Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 05/12] ARM: mvebu: Remove the harcoded BootROM window allocation Ezequiel Garcia
2013-06-18 17:39 ` Jason Gunthorpe
2013-06-18 19:43 ` Ezequiel Garcia
2013-06-18 19:51 ` Jason Gunthorpe
2013-06-18 20:02 ` Ezequiel Garcia
2013-06-18 20:10 ` Jason Gunthorpe
2013-06-18 20:39 ` Ezequiel Garcia
2013-06-19 10:02 ` Ezequiel Garcia
2013-06-19 16:58 ` Jason Gunthorpe
2013-06-19 17:58 ` Ezequiel Garcia
2013-06-19 18:03 ` Jason Gunthorpe
2013-06-19 18:17 ` Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 06/12] memory: mvebu-devbus: Remove address decoding window workaround Ezequiel Garcia
2013-06-18 11:39 ` Jason Cooper
2013-06-18 12:17 ` Thomas Petazzoni
2013-06-18 12:33 ` Jason Cooper
2013-06-18 12:48 ` Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 07/12] ARM: mvebu: Use the preprocessor on Armada 370/XP device tree files Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 08/12] ARM: mvebu: Add MBus to Armada 370/XP device tree Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 09/12] ARM: mvebu: Add BootROM " Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 10/12] ARM: mvebu: Relocate Armada 370/XP DeviceBus device tree nodes Ezequiel Garcia
2013-06-18 16:16 ` Arnd Bergmann
2013-06-18 22:09 ` Ezequiel Garcia
2013-06-18 22:14 ` Ezequiel Garcia
2013-06-19 12:03 ` Arnd Bergmann
2013-06-18 11:25 ` [PATCH v3 11/12] ARM: mvebu: Relocate Armada 370 PCIe " Ezequiel Garcia
2013-06-18 16:29 ` Arnd Bergmann
2013-06-18 17:15 ` Thomas Petazzoni
2013-06-18 17:18 ` Arnd Bergmann
2013-06-18 17:21 ` Thomas Petazzoni
2013-06-18 18:22 ` Arnd Bergmann
2013-06-18 19:02 ` Jason Gunthorpe
2013-06-18 21:20 ` Arnd Bergmann
2013-06-18 21:40 ` Ezequiel Garcia
2013-06-19 12:06 ` Arnd Bergmann
2013-06-18 21:35 ` Arnd Bergmann [this message]
2013-06-19 11:12 ` Ezequiel Garcia
2013-06-19 12:11 ` Arnd Bergmann
2013-06-19 16:53 ` Jason Gunthorpe
2013-06-19 18:55 ` Arnd Bergmann
2013-06-18 11:25 ` [PATCH v3 12/12] ARM: mvebu: Relocate Armada XP " Ezequiel Garcia
2013-06-18 11:33 ` [PATCH v3 00/12] MBus device tree binding Sebastian Hesselbarth
2013-06-18 13:07 ` Ezequiel Garcia
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=201306182335.50722.arnd@arndb.de \
--to=arnd@arndb$(echo .)de \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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