public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
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

  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