All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren@wwwdotorg.org>
To: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
	Gregory Clement <gregory.clement@free-electrons.com>,
	Arnd Bergmann <arnd@arndb.de>, Maen Suleiman <maen@marvell.com>,
	Lior Amsalem <alior@marvell.com>,
	Thierry Reding <thierry.reding@avionic-design.de>,
	Eran Ben-Avi <benavi@marvell.com>,
	Nadav Haklai <nadavh@marvell.com>,
	Shadi Ammouri <shadi@marvell.com>,
	Tawfik Bayouk <tawfik@marvell.com>,
	Russell King - ARM Linux <linux@arm.linux.org.uk>
Subject: Re: [PATCH v2 19/27] pci: PCIe driver for Marvell Armada 370/XP systems
Date: Fri, 01 Feb 2013 10:57:20 -0700	[thread overview]
Message-ID: <510C0200.5040505@wwwdotorg.org> (raw)
In-Reply-To: <20130201094613.38fa2ad0@skate>

On 02/01/2013 01:46 AM, Thomas Petazzoni wrote:
> Dear Stephen Warren,
> 
> Thanks for this great discussion. I see that Jason has already answered
> most of the questions on the why we need this "dynamicity" in the window
> configuration. A few comments below.
> 
> On Thu, 31 Jan 2013 19:21:02 -0700, Stephen Warren wrote:
> 
>> So, the dynamic programming of the windows on Marvell HW is the exact
>> logical equivalent of programming a standard PCIe root port's BAR
>> registers. It makes perfect sense that should be dynamic. Presumably
>> this is something you can make work inside your emulated PCIe/PCIe
>> bridge module, simply by capturing writes to the BAR registers, and
>> translating them into writes to the Marvell window registers.
> 
> That's what I'm doing. In the PATCHv2, my PCIe host driver was reading
> back the BARs in the PCI-to-PCI bridges configuration space, and was
> setting up the windows according to the addresses that had been
> assigned to each bridge.
> 
> I am currently working in making this more dynamic: it is directly when
> the BAR is being written to in the PCI-to-PCI bridge configuration
> space that a window will be setup.
> 
>> Now, I do have one follow-on question: You said you don't have 30
>> windows, but how many do you have free after allocating windows to any
>> other peripherals that need them, relative to (3 *
>> number-of-root-ports-in-the-SoC)? (3 being IO+Mem+PrefetchableMem.)
> 
> We have 20 windows on Armada XP if I remember correctly, and they are
> not only used for PCIe, but also to map the BootROM (needed to boot
> secondary CPUs), to map SPI flashes or NOR flashes, for example. So
> they are really shared between many uses. In terms of PCIe, there are
> only two types of windows: I/O and Memory, there is no notion of
> Prefetchable Memory window as far as I could see.

In Tegra, we end up having separate MMIO vs. Prefetchable MMIO chunks of
our overall PCIe aperture. However, the HW setup appears the same for
both of those. I'm not sure if it's a bug in the driver, or if it's just
to separate the two address spaces so that the page tables can be
configured for those two regions with large rather than small
granularity. I need to go investigate that.

> We have up to 10 PCIe interfaces, and only 20 windows. It means that
> you basically can't use all PCIe interfaces, there will necessarily be
> some limit, due to the limited number of windows.

So there are 10 PCIe interfaces (root ports). That's on the SoC itself
right. Are all 10 (or a large number of them) actually used at once on
any given board design? I suppose this must be the case, or Marvell
wouldn't have wasted the silicon space on 10 root ports... Still, that's
a rather large number of ports!

If only a few PCIe ports are ever in use at once on a design and/or the
PCIe ports generally contain soldered-down devices rather than
user-accessible ports, the statically assigning window *IDs* to
individual ports would make for easier code in the driver, since the BAR
register emulation would never have to allocate/de-allocate windows, but
rather only ever have to enable/disable/configure them.

However, if many PCIe ports are in use at once and there are
user-accessible ports, you can't know ahead of time which ports will
need MMIO vs. MMIO prefetch vs. IO, so you'd have to dynamically
allocate window IDs to ports, in addition to dynamically setting up the
address/size of windows.

> Also, I'd like to point out that the dynamic configuration is needed
> for two reasons:
> 
>  * The number of windows, as we are discussing now.

OK.

>  * The amount of physical address space available. If you don't
>    dynamically configure those windows, then you have to account the
>    "worst case", i.e the PCIe devices that require very large memory
>    areas. So you end up creating static windows that reserve 32M or 64M
>    or 128M *per* PCIe link. You can see that it "consumes" pretty
>    quickly a large part of the 4G physical address space that we have.
>    Thanks to the dynamic window configuration that we do with the
>    PCI-to-PCI bridge, we can size the windows exactly the size needed
>    by the downstream device on each PCIe interface.

That aspect is applicable to any PCIe system; there's always some chunk
of physical address space that maps to PCIe, and which must be divided
into per-root-port chunks.

I think the only difference on the Marvell HW is:

* The overall total size of the physical address space is dynamic rather
than fixed, because it's programmed through windows rather than
hard-coded into HW.

* Hence, the windows /both/ define the physical address space layout
/and/ define the routing of transactions to individual root ports. On
regular PCIe, the root port BARs only divide up the overall physical
(PCIe bus 0 really) address space and hence perform routing; they have
no influence over the CPU physical address space.

So I think the crux of the problem is that you really have 10 PCIe root
ports, each of which is a nominally a separate PCIe domain (since the
windows connect CPU physical address space to an individual/specific
root port's PCIe address space, rather than having separate connections
from CPU -> PCIe bus 0 address space, then BARs/windows connecting PCIe
bus 0 address space to individual root port/subordinate bus address
space), but you're attempting to treat all 10 ports as a single PCIe
domain so that you don't have to dedicate separate physical CPU address
space to each port, which you would have to do if they were actually
treated as separate domains.

>> The thing here is that when the PCIe core writes to a root port BAR
>> window to configure/enable it the first time, you'll need to capture
>> that transaction and dynamically allocate a window and program it in a
>> way equivalent to what the BAR register write would have achieved on
>> standard HW. Later, the window might need resizing, or even to be
>> completely disabled, if the PCIe core were to change the standard BAR
>> register. Dynamically allocating a window when the BAR is written
>> seems a little heavy-weight.
> 
> Why?

Well, it's just a bunch more code; much more than a simple writel().

WARNING: multiple messages have this Message-ID (diff)
From: swarren@wwwdotorg.org (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 19/27] pci: PCIe driver for Marvell Armada 370/XP systems
Date: Fri, 01 Feb 2013 10:57:20 -0700	[thread overview]
Message-ID: <510C0200.5040505@wwwdotorg.org> (raw)
In-Reply-To: <20130201094613.38fa2ad0@skate>

On 02/01/2013 01:46 AM, Thomas Petazzoni wrote:
> Dear Stephen Warren,
> 
> Thanks for this great discussion. I see that Jason has already answered
> most of the questions on the why we need this "dynamicity" in the window
> configuration. A few comments below.
> 
> On Thu, 31 Jan 2013 19:21:02 -0700, Stephen Warren wrote:
> 
>> So, the dynamic programming of the windows on Marvell HW is the exact
>> logical equivalent of programming a standard PCIe root port's BAR
>> registers. It makes perfect sense that should be dynamic. Presumably
>> this is something you can make work inside your emulated PCIe/PCIe
>> bridge module, simply by capturing writes to the BAR registers, and
>> translating them into writes to the Marvell window registers.
> 
> That's what I'm doing. In the PATCHv2, my PCIe host driver was reading
> back the BARs in the PCI-to-PCI bridges configuration space, and was
> setting up the windows according to the addresses that had been
> assigned to each bridge.
> 
> I am currently working in making this more dynamic: it is directly when
> the BAR is being written to in the PCI-to-PCI bridge configuration
> space that a window will be setup.
> 
>> Now, I do have one follow-on question: You said you don't have 30
>> windows, but how many do you have free after allocating windows to any
>> other peripherals that need them, relative to (3 *
>> number-of-root-ports-in-the-SoC)? (3 being IO+Mem+PrefetchableMem.)
> 
> We have 20 windows on Armada XP if I remember correctly, and they are
> not only used for PCIe, but also to map the BootROM (needed to boot
> secondary CPUs), to map SPI flashes or NOR flashes, for example. So
> they are really shared between many uses. In terms of PCIe, there are
> only two types of windows: I/O and Memory, there is no notion of
> Prefetchable Memory window as far as I could see.

In Tegra, we end up having separate MMIO vs. Prefetchable MMIO chunks of
our overall PCIe aperture. However, the HW setup appears the same for
both of those. I'm not sure if it's a bug in the driver, or if it's just
to separate the two address spaces so that the page tables can be
configured for those two regions with large rather than small
granularity. I need to go investigate that.

> We have up to 10 PCIe interfaces, and only 20 windows. It means that
> you basically can't use all PCIe interfaces, there will necessarily be
> some limit, due to the limited number of windows.

So there are 10 PCIe interfaces (root ports). That's on the SoC itself
right. Are all 10 (or a large number of them) actually used at once on
any given board design? I suppose this must be the case, or Marvell
wouldn't have wasted the silicon space on 10 root ports... Still, that's
a rather large number of ports!

If only a few PCIe ports are ever in use at once on a design and/or the
PCIe ports generally contain soldered-down devices rather than
user-accessible ports, the statically assigning window *IDs* to
individual ports would make for easier code in the driver, since the BAR
register emulation would never have to allocate/de-allocate windows, but
rather only ever have to enable/disable/configure them.

However, if many PCIe ports are in use at once and there are
user-accessible ports, you can't know ahead of time which ports will
need MMIO vs. MMIO prefetch vs. IO, so you'd have to dynamically
allocate window IDs to ports, in addition to dynamically setting up the
address/size of windows.

> Also, I'd like to point out that the dynamic configuration is needed
> for two reasons:
> 
>  * The number of windows, as we are discussing now.

OK.

>  * The amount of physical address space available. If you don't
>    dynamically configure those windows, then you have to account the
>    "worst case", i.e the PCIe devices that require very large memory
>    areas. So you end up creating static windows that reserve 32M or 64M
>    or 128M *per* PCIe link. You can see that it "consumes" pretty
>    quickly a large part of the 4G physical address space that we have.
>    Thanks to the dynamic window configuration that we do with the
>    PCI-to-PCI bridge, we can size the windows exactly the size needed
>    by the downstream device on each PCIe interface.

That aspect is applicable to any PCIe system; there's always some chunk
of physical address space that maps to PCIe, and which must be divided
into per-root-port chunks.

I think the only difference on the Marvell HW is:

* The overall total size of the physical address space is dynamic rather
than fixed, because it's programmed through windows rather than
hard-coded into HW.

* Hence, the windows /both/ define the physical address space layout
/and/ define the routing of transactions to individual root ports. On
regular PCIe, the root port BARs only divide up the overall physical
(PCIe bus 0 really) address space and hence perform routing; they have
no influence over the CPU physical address space.

So I think the crux of the problem is that you really have 10 PCIe root
ports, each of which is a nominally a separate PCIe domain (since the
windows connect CPU physical address space to an individual/specific
root port's PCIe address space, rather than having separate connections
from CPU -> PCIe bus 0 address space, then BARs/windows connecting PCIe
bus 0 address space to individual root port/subordinate bus address
space), but you're attempting to treat all 10 ports as a single PCIe
domain so that you don't have to dedicate separate physical CPU address
space to each port, which you would have to do if they were actually
treated as separate domains.

>> The thing here is that when the PCIe core writes to a root port BAR
>> window to configure/enable it the first time, you'll need to capture
>> that transaction and dynamically allocate a window and program it in a
>> way equivalent to what the BAR register write would have achieved on
>> standard HW. Later, the window might need resizing, or even to be
>> completely disabled, if the PCIe core were to change the standard BAR
>> register. Dynamically allocating a window when the BAR is written
>> seems a little heavy-weight.
> 
> Why?

Well, it's just a bunch more code; much more than a simple writel().

  parent reply	other threads:[~2013-02-01 17:57 UTC|newest]

Thread overview: 433+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-28 18:56 [PATCH v2] PCIe support for the Armada 370 and Armada XP SoCs Thomas Petazzoni
2013-01-28 18:56 ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 01/27] of/pci: Provide support for parsing PCI DT ranges property Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 02/27] of/pci: Add of_pci_get_devfn() function Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 22:00   ` Stephen Warren
2013-01-28 22:00     ` Stephen Warren
2013-01-28 22:16     ` Thierry Reding
2013-01-28 22:16       ` Thierry Reding
2013-01-29 10:04       ` Thomas Petazzoni
2013-01-29 10:04         ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 03/27] of/pci: Add of_pci_parse_bus_range() function Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 04/27] ARM: pci: Allow passing per-controller private data Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 05/27] arm: pci: add a align_resource hook Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-29 15:12   ` Thomas Petazzoni
2013-01-29 15:12     ` Thomas Petazzoni
2013-01-29 15:15     ` Russell King - ARM Linux
2013-01-29 15:15       ` Russell King - ARM Linux
2013-01-29 15:23       ` Thomas Petazzoni
2013-01-29 15:23         ` Thomas Petazzoni
2013-01-29 15:25         ` Russell King - ARM Linux
2013-01-29 15:25           ` Russell King - ARM Linux
2013-01-29 15:28           ` Thomas Petazzoni
2013-01-29 15:28             ` Thomas Petazzoni
2013-01-29 15:58     ` Russell King - ARM Linux
2013-01-29 15:58       ` Russell King - ARM Linux
2013-01-29 16:20       ` Thomas Petazzoni
2013-01-29 16:20         ` Thomas Petazzoni
2013-01-29 16:45         ` Arnd Bergmann
2013-01-29 16:45           ` Arnd Bergmann
2013-01-29 17:09           ` Thomas Petazzoni
2013-01-29 17:09             ` Thomas Petazzoni
2013-01-29 20:15             ` Arnd Bergmann
2013-01-29 20:15               ` Arnd Bergmann
2013-01-29 20:33               ` Thomas Petazzoni
2013-01-29 20:33                 ` Thomas Petazzoni
2013-01-29 21:59                 ` Thomas Petazzoni
2013-01-29 21:59                   ` Thomas Petazzoni
2013-01-29 22:17                   ` Stephen Warren
2013-01-29 22:17                     ` Stephen Warren
2013-01-30  4:49                   ` Jason Gunthorpe
2013-01-30  4:49                     ` Jason Gunthorpe
2013-01-29 22:54                 ` Arnd Bergmann
2013-01-29 22:54                   ` Arnd Bergmann
2013-01-30  4:21                   ` Jason Gunthorpe
2013-01-30  4:21                     ` Jason Gunthorpe
2013-01-30  9:55                     ` Arnd Bergmann
2013-01-30  9:55                       ` Arnd Bergmann
2013-01-30 11:47                       ` Thomas Petazzoni
2013-01-30 11:47                         ` Thomas Petazzoni
2013-01-30 16:17                         ` Arnd Bergmann
2013-01-30 16:17                           ` Arnd Bergmann
2013-01-30 16:38                           ` Thomas Petazzoni
2013-01-30 16:38                             ` Thomas Petazzoni
2013-01-30 20:48                         ` Bjorn Helgaas
2013-01-30 20:48                           ` Bjorn Helgaas
2013-01-30 21:06                           ` Jason Gunthorpe
2013-01-30 21:06                             ` Jason Gunthorpe
2013-01-30  4:56           ` Jason Gunthorpe
2013-01-30  4:56             ` Jason Gunthorpe
2013-01-30  8:19             ` Thomas Petazzoni
2013-01-30  8:19               ` Thomas Petazzoni
2013-01-30  9:46             ` Arnd Bergmann
2013-01-30  9:46               ` Arnd Bergmann
2013-01-30  9:54               ` Thomas Petazzoni
2013-01-30  9:54                 ` Thomas Petazzoni
2013-01-30 10:03                 ` Arnd Bergmann
2013-01-30 10:03                   ` Arnd Bergmann
2013-01-30 11:42                   ` Thomas Petazzoni
2013-01-30 11:42                     ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 06/27] lib: devres: don't enclose pcim_*() functions in CONFIG_HAS_IOPORT Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 07/27] PCI: Add software-emulated host bridge Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 20:18   ` Arnd Bergmann
2013-01-28 20:18     ` Arnd Bergmann
2013-01-28 22:03     ` Stephen Warren
2013-01-28 22:03       ` Stephen Warren
2013-01-28 22:09       ` Jason Gunthorpe
2013-01-28 22:09         ` Jason Gunthorpe
2013-01-28 22:18         ` Thomas Petazzoni
2013-01-28 22:18           ` Thomas Petazzoni
2013-01-28 22:23           ` Jason Gunthorpe
2013-01-28 22:23             ` Jason Gunthorpe
2013-01-28 22:30             ` Thomas Petazzoni
2013-01-28 22:30               ` Thomas Petazzoni
2013-01-28 22:51               ` Jason Gunthorpe
2013-01-28 22:51                 ` Jason Gunthorpe
2013-01-29 10:01                 ` Thomas Petazzoni
2013-01-29 10:01                   ` Thomas Petazzoni
2013-01-29 17:42                   ` Jason Gunthorpe
2013-01-29 17:42                     ` Jason Gunthorpe
2013-01-29 17:43                     ` Thomas Petazzoni
2013-01-29 17:43                       ` Thomas Petazzoni
2013-01-29  2:40         ` Bjorn Helgaas
2013-01-29  2:40           ` Bjorn Helgaas
2013-01-29  6:16           ` Jason Gunthorpe
2013-01-29  6:16             ` Jason Gunthorpe
2013-01-28 22:09     ` Thomas Petazzoni
2013-01-28 22:09       ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 08/27] pci: implement an emulated PCI-to-PCI bridge Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 19:35   ` Jason Gunthorpe
2013-01-28 19:35     ` Jason Gunthorpe
2013-01-28 19:39     ` Thomas Petazzoni
2013-01-28 19:39       ` Thomas Petazzoni
2013-01-28 19:55       ` Jason Gunthorpe
2013-01-28 19:55         ` Jason Gunthorpe
2013-01-28 22:06         ` Stephen Warren
2013-01-28 22:06           ` Stephen Warren
2013-01-28 22:16           ` Jason Gunthorpe
2013-01-28 22:16             ` Jason Gunthorpe
2013-01-29 22:35   ` Bjorn Helgaas
2013-01-29 22:35     ` Bjorn Helgaas
2013-01-29 23:06     ` Arnd Bergmann
2013-01-29 23:06       ` Arnd Bergmann
2013-01-30  4:12       ` Jason Gunthorpe
2013-01-30  4:12         ` Jason Gunthorpe
2013-01-28 18:56 ` [PATCH v2 09/27] pci: infrastructure to add drivers in drivers/pci/host Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 10/27] arm: mvebu: fix address-cells in mpic DT node Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 11/27] clk: mvebu: create parent-child relation for PCIe clocks on Armada 370 Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 22:08   ` Stephen Warren
2013-01-28 22:08     ` Stephen Warren
2013-01-28 22:21     ` Thomas Petazzoni
2013-01-28 22:21       ` Thomas Petazzoni
2013-01-28 22:27       ` Stephen Warren
2013-01-28 22:27         ` Stephen Warren
2013-01-28 22:44         ` Thomas Petazzoni
2013-01-28 22:44           ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 12/27] clk: mvebu: add more PCIe clocks for Armada XP Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 13/27] arm: plat-orion: introduce WIN_CTRL_ENABLE in address mapping code Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 14/27] arm: plat-orion: refactor the orion_disable_wins() function Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 15/27] arm: plat-orion: introduce orion_{alloc,free}_cpu_win() functions Thomas Petazzoni
2013-01-28 18:56   ` [PATCH v2 15/27] arm: plat-orion: introduce orion_{alloc, free}_cpu_win() functions Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 16/27] arm: mvebu: add functions to alloc/free PCIe decoding windows Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 17/27] arm: plat-orion: make common PCIe code usable on mvebu Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 18/27] arm: plat-orion: add more flexible PCI configuration space read/write functions Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 19:51   ` Jason Gunthorpe
2013-01-28 19:51     ` Jason Gunthorpe
2013-01-29  8:40     ` Thomas Petazzoni
2013-01-29  8:40       ` Thomas Petazzoni
2013-01-29 17:40       ` Jason Gunthorpe
2013-01-29 17:40         ` Jason Gunthorpe
2013-01-28 18:56 ` [PATCH v2 19/27] pci: PCIe driver for Marvell Armada 370/XP systems Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 22:21   ` Stephen Warren
2013-01-28 22:21     ` Stephen Warren
2013-01-29  8:41     ` Thomas Petazzoni
2013-01-29  8:41       ` Thomas Petazzoni
2013-01-29  9:20       ` Thierry Reding
2013-01-29  9:20         ` Thierry Reding
2013-01-29  9:21         ` Thomas Petazzoni
2013-01-29  9:21           ` Thomas Petazzoni
2013-02-07 10:24         ` Thomas Petazzoni
2013-02-07 10:24           ` Thomas Petazzoni
2013-02-07 15:46           ` Bjorn Helgaas
2013-02-07 15:46             ` Bjorn Helgaas
2013-02-07 16:00             ` Thomas Petazzoni
2013-02-07 16:00               ` Thomas Petazzoni
2013-02-07 18:08               ` Bjorn Helgaas
2013-02-07 18:08                 ` Bjorn Helgaas
2013-02-07 18:15                 ` Jason Gunthorpe
2013-02-07 18:15                   ` Jason Gunthorpe
2013-02-07 18:30                   ` Bjorn Helgaas
2013-02-07 18:30                     ` Bjorn Helgaas
2013-02-07 18:43                 ` Thierry Reding
2013-02-07 18:43                   ` Thierry Reding
2013-01-29 19:47       ` Stephen Warren
2013-01-29 19:47         ` Stephen Warren
2013-01-29  3:29   ` Bjorn Helgaas
2013-01-29  3:29     ` Bjorn Helgaas
2013-01-29  5:55     ` Jason Gunthorpe
2013-01-29  5:55       ` Jason Gunthorpe
2013-01-29  8:00       ` Thomas Petazzoni
2013-01-29  8:00         ` Thomas Petazzoni
2013-01-29 17:47       ` Bjorn Helgaas
2013-01-29 17:47         ` Bjorn Helgaas
2013-01-29 18:14         ` Thomas Petazzoni
2013-01-29 18:14           ` Thomas Petazzoni
2013-01-29 18:41         ` Jason Gunthorpe
2013-01-29 18:41           ` Jason Gunthorpe
2013-01-29 19:07           ` Bjorn Helgaas
2013-01-29 19:07             ` Bjorn Helgaas
2013-01-29 19:18             ` Jason Gunthorpe
2013-01-29 19:18               ` Jason Gunthorpe
2013-01-29 19:38               ` Bjorn Helgaas
2013-01-29 19:38                 ` Bjorn Helgaas
2013-01-29 22:27                 ` Bjorn Helgaas
2013-01-29 22:27                   ` Bjorn Helgaas
2013-01-30  4:24                   ` Jason Gunthorpe
2013-01-30  4:24                     ` Jason Gunthorpe
2013-01-30  9:35                   ` Thomas Petazzoni
2013-01-30  9:35                     ` Thomas Petazzoni
2013-01-30 18:52                     ` Bjorn Helgaas
2013-01-30 18:52                       ` Bjorn Helgaas
2013-01-30 22:28                       ` Thomas Petazzoni
2013-01-30 22:28                         ` Thomas Petazzoni
2013-01-30 23:10                         ` Jason Gunthorpe
2013-01-30 23:10                           ` Jason Gunthorpe
2013-01-30 23:48                         ` Bjorn Helgaas
2013-01-30 23:48                           ` Bjorn Helgaas
2013-01-31 16:04                       ` Thomas Petazzoni
2013-01-31 16:04                         ` Thomas Petazzoni
2013-01-31 16:30                         ` Bjorn Helgaas
2013-01-31 16:30                           ` Bjorn Helgaas
2013-01-31 16:33                           ` Thomas Petazzoni
2013-01-31 16:33                             ` Thomas Petazzoni
2013-01-31 17:03                             ` Bjorn Helgaas
2013-01-31 17:03                               ` Bjorn Helgaas
2013-01-31 16:42                           ` Russell King - ARM Linux
2013-01-31 16:42                             ` Russell King - ARM Linux
2013-01-29 13:22   ` Andrew Murray
2013-01-29 13:22     ` Andrew Murray
2013-01-29 13:45     ` Thomas Petazzoni
2013-01-29 13:45       ` Thomas Petazzoni
2013-01-29 14:05       ` Andrew Murray
2013-01-29 14:05         ` Andrew Murray
2013-01-29 14:20         ` Thierry Reding
2013-01-29 14:20           ` Thierry Reding
2013-01-29 14:29           ` Thomas Petazzoni
2013-01-29 14:29             ` Thomas Petazzoni
2013-01-29 15:02             ` Thierry Reding
2013-01-29 15:02               ` Thierry Reding
2013-01-29 15:08               ` Andrew Murray
2013-01-29 15:08                 ` Andrew Murray
2013-01-29 15:10               ` Thomas Petazzoni
2013-01-29 15:10                 ` Thomas Petazzoni
2013-02-07 14:37     ` Thomas Petazzoni
2013-02-07 14:37       ` Thomas Petazzoni
2013-02-07 15:51       ` Andrew Murray
2013-02-07 15:51         ` Andrew Murray
2013-02-07 16:19         ` Thomas Petazzoni
2013-02-07 16:19           ` Thomas Petazzoni
2013-02-07 16:40           ` Thomas Petazzoni
2013-02-07 16:40             ` Thomas Petazzoni
2013-02-07 16:53             ` Andrew Murray
2013-02-07 16:53               ` Andrew Murray
2013-02-07 17:14               ` Thomas Petazzoni
2013-02-07 17:14                 ` Thomas Petazzoni
2013-02-07 17:29                 ` Andrew Murray
2013-02-07 17:29                   ` Andrew Murray
2013-02-07 17:37                   ` Thomas Petazzoni
2013-02-07 17:37                     ` Thomas Petazzoni
2013-02-07 18:21                     ` Jason Gunthorpe
2013-02-07 18:21                       ` Jason Gunthorpe
2013-02-07 23:25                       ` Arnd Bergmann
2013-02-07 23:25                         ` Arnd Bergmann
2013-02-08  0:44                         ` Jason Gunthorpe
2013-02-08  0:44                           ` Jason Gunthorpe
2013-02-09 22:23                           ` Arnd Bergmann
2013-02-09 22:23                             ` Arnd Bergmann
2013-02-12 19:26                             ` Jason Gunthorpe
2013-02-12 19:26                               ` Jason Gunthorpe
2013-02-07 18:30                     ` Andrew Murray
2013-02-07 18:30                       ` Andrew Murray
2013-02-07 23:27                       ` Arnd Bergmann
2013-02-07 23:27                         ` Arnd Bergmann
2013-01-30 11:32   ` Russell King - ARM Linux
2013-01-30 11:32     ` Russell King - ARM Linux
2013-01-30 11:37     ` Thomas Petazzoni
2013-01-30 11:37       ` Thomas Petazzoni
2013-01-30 12:03     ` Thierry Reding
2013-01-30 12:03       ` Thierry Reding
2013-01-30 13:07       ` Thomas Petazzoni
2013-01-30 13:07         ` Thomas Petazzoni
2013-01-30 15:08       ` Russell King - ARM Linux
2013-01-30 15:08         ` Russell King - ARM Linux
2013-01-30 15:19         ` Russell King - ARM Linux
2013-01-30 15:19           ` Russell King - ARM Linux
2013-01-30 15:36           ` Thomas Petazzoni
2013-01-30 15:36             ` Thomas Petazzoni
2013-01-30 15:46             ` Russell King - ARM Linux
2013-01-30 15:46               ` Russell King - ARM Linux
2013-01-31 14:30               ` Thomas Petazzoni
2013-01-31 14:30                 ` Thomas Petazzoni
2013-01-31 14:50                 ` Russell King - ARM Linux
2013-01-31 14:50                   ` Russell King - ARM Linux
2013-01-31 14:57                   ` Thomas Petazzoni
2013-01-31 14:57                     ` Thomas Petazzoni
2013-01-31 15:08                     ` Russell King - ARM Linux
2013-01-31 15:08                       ` Russell King - ARM Linux
2013-01-31 15:22                       ` Thomas Petazzoni
2013-01-31 15:22                         ` Thomas Petazzoni
2013-01-31 15:36                         ` Russell King - ARM Linux
2013-01-31 15:36                           ` Russell King - ARM Linux
2013-01-31 15:47                           ` Thomas Petazzoni
2013-01-31 15:47                             ` Thomas Petazzoni
2013-01-31 15:48                             ` Russell King - ARM Linux
2013-01-31 15:48                               ` Russell King - ARM Linux
2013-01-31 16:18                           ` Arnd Bergmann
2013-01-31 16:18                             ` Arnd Bergmann
2013-01-31 18:02                             ` Jason Gunthorpe
2013-01-31 18:02                               ` Jason Gunthorpe
2013-01-31 20:46                               ` Arnd Bergmann
2013-01-31 20:46                                 ` Arnd Bergmann
2013-01-31 22:44                                 ` Jason Gunthorpe
2013-01-31 22:44                                   ` Jason Gunthorpe
2013-02-01 11:30                                   ` Arnd Bergmann
2013-02-01 11:30                                     ` Arnd Bergmann
2013-02-01 19:52                                     ` Jason Gunthorpe
2013-02-01 19:52                                       ` Jason Gunthorpe
2013-02-06 16:51                                   ` Thomas Petazzoni
2013-02-06 16:51                                     ` Thomas Petazzoni
2013-02-06 17:09                                     ` Jason Gunthorpe
2013-02-06 17:09                                       ` Jason Gunthorpe
2013-02-06 17:18                                       ` Thomas Petazzoni
2013-02-06 17:18                                         ` Thomas Petazzoni
2013-02-06 17:50                                         ` Jason Gunthorpe
2013-02-06 17:50                                           ` Jason Gunthorpe
2013-02-06 18:02                                           ` Thomas Petazzoni
2013-02-06 18:02                                             ` Thomas Petazzoni
2013-02-06 18:22                                           ` Stephen Warren
2013-02-06 18:22                                             ` Stephen Warren
2013-02-06 18:39                                             ` Jason Gunthorpe
2013-02-06 18:39                                               ` Jason Gunthorpe
2013-02-06 18:42                                             ` Thomas Petazzoni
2013-02-06 18:42                                               ` Thomas Petazzoni
2013-02-06 22:04                                               ` Arnd Bergmann
2013-02-06 22:04                                                 ` Arnd Bergmann
2013-02-07 15:50                                           ` Giving special alignment/size constraints to the Linux PCI core? Thomas Petazzoni
2013-02-07 23:33                                             ` Arnd Bergmann
2013-02-07 23:33                                               ` Arnd Bergmann
2013-02-08  4:21                                             ` Bjorn Helgaas
2013-02-08  4:21                                               ` Bjorn Helgaas
2013-02-08  8:14                                               ` Thomas Petazzoni
2013-02-08  8:14                                                 ` Thomas Petazzoni
2013-02-12 16:00                                                 ` Arnd Bergmann
2013-02-12 16:00                                                   ` Arnd Bergmann
2013-02-12 18:41                                                   ` Jason Gunthorpe
2013-02-12 18:41                                                     ` Jason Gunthorpe
2013-02-12 19:02                                                     ` Arnd Bergmann
2013-02-12 19:02                                                       ` Arnd Bergmann
2013-02-12 19:38                                                       ` Jason Gunthorpe
2013-02-12 19:38                                                         ` Jason Gunthorpe
2013-02-12 23:05                                                         ` Arnd Bergmann
2013-02-12 23:05                                                           ` Arnd Bergmann
2013-02-13  0:32                                                           ` Jason Gunthorpe
2013-02-13  0:32                                                             ` Jason Gunthorpe
2013-02-13 18:53                                                             ` Arnd Bergmann
2013-02-13 18:53                                                               ` Arnd Bergmann
2013-02-13 19:12                                                               ` Jason Gunthorpe
2013-02-13 19:12                                                                 ` Jason Gunthorpe
2013-02-13 19:51                                                                 ` Thomas Petazzoni
2013-02-13 19:51                                                                   ` Thomas Petazzoni
2013-02-13 21:10                                                                 ` Arnd Bergmann
2013-02-13 21:10                                                                   ` Arnd Bergmann
2013-02-13 21:20                                                                   ` Yinghai Lu
2013-02-13 21:20                                                                     ` Yinghai Lu
2013-02-13 22:24                                                                     ` Arnd Bergmann
2013-02-13 22:24                                                                       ` Arnd Bergmann
2013-02-13 21:02                                                             ` Yinghai Lu
2013-02-13 21:02                                                               ` Yinghai Lu
2013-01-31  7:10           ` [PATCH v2 19/27] pci: PCIe driver for Marvell Armada 370/XP systems Thierry Reding
2013-01-31  7:10             ` Thierry Reding
2013-02-01  0:34   ` Stephen Warren
2013-02-01  0:34     ` Stephen Warren
2013-02-01  1:41     ` Jason Gunthorpe
2013-02-01  1:41       ` Jason Gunthorpe
2013-02-01  2:21       ` Stephen Warren
2013-02-01  2:21         ` Stephen Warren
2013-02-01  3:51         ` Jason Gunthorpe
2013-02-01  3:51           ` Jason Gunthorpe
2013-02-01  9:03           ` Thomas Petazzoni
2013-02-01  9:03             ` Thomas Petazzoni
2013-02-01 16:07             ` Arnd Bergmann
2013-02-01 16:07               ` Arnd Bergmann
2013-02-01 16:26               ` Russell King - ARM Linux
2013-02-01 16:26                 ` Russell King - ARM Linux
2013-02-01 17:45                 ` Arnd Bergmann
2013-02-01 17:45                   ` Arnd Bergmann
2013-02-01 19:58                   ` Jason Gunthorpe
2013-02-01 19:58                     ` Jason Gunthorpe
2013-02-01  8:46         ` Thomas Petazzoni
2013-02-01  8:46           ` Thomas Petazzoni
2013-02-01 16:02           ` Arnd Bergmann
2013-02-01 16:02             ` Arnd Bergmann
2013-02-01 17:57           ` Stephen Warren [this message]
2013-02-01 17:57             ` Stephen Warren
2013-02-01 19:39             ` Jason Gunthorpe
2013-02-01 19:39               ` Jason Gunthorpe
2013-02-01 20:30               ` Stephen Warren
2013-02-01 20:30                 ` Stephen Warren
2013-01-28 18:56 ` [PATCH v2 20/27] arm: mvebu: PCIe support is now available on mvebu Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 21/27] arm: mvebu: add PCIe Device Tree informations for Armada 370 Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 22/27] arm: mvebu: add PCIe Device Tree informations for Armada XP Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-02-06 22:41   ` Arnd Bergmann
2013-02-06 22:41     ` Arnd Bergmann
2013-02-06 23:07     ` Thomas Petazzoni
2013-02-06 23:07       ` Thomas Petazzoni
2013-02-07  8:04       ` Arnd Bergmann
2013-02-07  8:04         ` Arnd Bergmann
2013-02-07  8:45         ` Thomas Petazzoni
2013-02-07  8:45           ` Thomas Petazzoni
2013-02-07  9:09           ` Arnd Bergmann
2013-02-07  9:09             ` Arnd Bergmann
2013-02-07  1:05     ` Jason Gunthorpe
2013-02-07  1:05       ` Jason Gunthorpe
2013-02-07  7:28       ` Thierry Reding
2013-02-07  7:28         ` Thierry Reding
2013-02-07 17:49         ` Jason Gunthorpe
2013-02-07 17:49           ` Jason Gunthorpe
2013-02-07  8:24       ` Arnd Bergmann
2013-02-07  8:24         ` Arnd Bergmann
2013-02-07 17:00         ` Jason Gunthorpe
2013-02-07 17:00           ` Jason Gunthorpe
2013-02-07 23:44           ` Arnd Bergmann
2013-02-07 23:44             ` Arnd Bergmann
2013-01-28 18:56 ` [PATCH v2 23/27] arm: mvebu: PCIe Device Tree informations for OpenBlocks AX3-4 Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 24/27] arm: mvebu: PCIe Device Tree informations for Armada XP DB Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 25/27] arm: mvebu: PCIe Device Tree informations for Armada 370 Mirabox Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 26/27] arm: mvebu: PCIe Device Tree informations for Armada 370 DB Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 27/27] arm: mvebu: update defconfig with PCI and USB support Thomas Petazzoni
2013-01-28 18:56   ` Thomas Petazzoni

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=510C0200.5040505@wwwdotorg.org \
    --to=swarren@wwwdotorg.org \
    --cc=alior@marvell.com \
    --cc=andrew@lunn.ch \
    --cc=arnd@arndb.de \
    --cc=benavi@marvell.com \
    --cc=bhelgaas@google.com \
    --cc=gregory.clement@free-electrons.com \
    --cc=jason@lakedaemon.net \
    --cc=jgunthorpe@obsidianresearch.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=maen@marvell.com \
    --cc=nadavh@marvell.com \
    --cc=shadi@marvell.com \
    --cc=tawfik@marvell.com \
    --cc=thierry.reding@avionic-design.de \
    --cc=thomas.petazzoni@free-electrons.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.