From: Murali Karicheri <m-karicheri2-l0cyMroinI0@public.gmane.org>
To: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
Subject: Re: [PATCH 00/14] Rewrite Tegra PCIe driver
Date: Wed, 6 Mar 2013 13:16:57 -0500 [thread overview]
Message-ID: <51378819.9060605@ti.com> (raw)
In-Reply-To: <1357764194-12677-1-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
Hi Thierry,
I am working to add a PCIE driver on a ARM platform and I want to use DT
to specify the device configuration. I see that your patch set is doing
similar thing for Tegra. Would you mind if I take a peak at your code
base? Do you have your code posted to an external git repo?
Thanks.
Murali
On 1/9/2013 3:43 PM, Thierry Reding wrote:
> This patch series contains an almost complete rewrite of the Tegra PCIe
> driver. The code is moved to the drivers/pci/host directory and turned
> into a proper platform driver, adding MSI and DT support while at it.
> Other PCI host controller drivers can be added to that directory in an
> attempt to make it easier to factor out common code.
>
> Patches 1 to 4 add generic OF helpers to parse a PCI node's ranges
> property as well as obtain the bus, device and function numbers from a
> node's reg property.
>
> Patch 5 provides an implementation of a cache for I/O mappings. This can
> be used in situations where a large physical memory region needs to be
> ioremap()'ed. On Tegra, the PCIe standard and extended configuration
> spaces can be accessed through a 256 MiB window. Mapping that in one
> chunk is wasteful and may not always work because the vmalloc area may
> not be large enough. The implementation in this patch uses an LRU based
> approach to map a limited amount of pages on an as-needed basis.
>
> Patches 6 and 7 prepare the ARM PCI code to enable PCI host controller
> drivers to load after the init stage, which can happen due to deferred
> probing, and to allow private data to be passed for each controller.
>
> Patches 8 and 9 move some of the Tegra specific code around to allow it
> to be used from outside the arch/arm/mach-tegra directory.
>
> Patch 10 moves the Tegra PCIe controller driver to the drivers/pci/host
> directory and turns it into a proper platform driver. It also adds MSI
> (based on patches by NVIDIA) and DT support.
>
> Patches 11 to 14 add device tree based probing for the TEC, Harmony and
> TrimSlice boards.
>
> Thierry
>
> Andrew Murray (1):
> of/pci: Provide support for parsing PCI DT ranges property
>
> Thierry Reding (13):
> of/pci: Add of_pci_get_devfn() function
> of/pci: Add of_pci_get_bus() function
> of/pci: Add of_pci_parse_bus_range() function
> lib: Add I/O map cache implementation
> ARM: pci: Keep pci_common_init() around after init
> ARM: pci: Allow passing per-controller private data
> ARM: tegra: Move tegra_pcie_xclk_clamp() to PMC
> ARM: tegra: Move pmc.h to include/mach
> PCI: tegra: Move PCIe driver to drivers/pci/host
> ARM: tegra: tamonten: Add PCIe support
> ARM: tegra: tec: Add PCIe support
> ARM: tegra: harmony: Initialize PCIe from DT
> ARM: tegra: trimslice: Initialize PCIe from DT
>
> .../bindings/pci/nvidia,tegra20-pcie.txt | 115 ++
> arch/arm/Kconfig | 2 +
> arch/arm/boot/dts/tegra20-harmony.dts | 20 +-
> arch/arm/boot/dts/tegra20-tamonten.dtsi | 2 +-
> arch/arm/boot/dts/tegra20-tec.dts | 198 +++
> arch/arm/boot/dts/tegra20-trimslice.dts | 12 +
> arch/arm/boot/dts/tegra20.dtsi | 45 +
> arch/arm/include/asm/mach/pci.h | 1 +
> arch/arm/kernel/bios32.c | 9 +-
> arch/arm/mach-tegra/Kconfig | 5 -
> arch/arm/mach-tegra/Makefile | 3 -
> arch/arm/mach-tegra/board-dt-tegra20.c | 24 -
> arch/arm/mach-tegra/board-harmony-pcie.c | 84 --
> arch/arm/mach-tegra/board.h | 4 +-
> arch/arm/mach-tegra/common.c | 2 +-
> arch/arm/mach-tegra/include/mach/pmc.h | 24 +
> arch/arm/mach-tegra/iomap.h | 3 -
> arch/arm/mach-tegra/pcie.c | 887 -------------
> arch/arm/mach-tegra/pmc.c | 16 +
> arch/arm/mach-tegra/pmc.h | 23 -
> drivers/of/address.c | 63 +
> drivers/of/of_pci.c | 78 +-
> drivers/pci/Kconfig | 2 +
> drivers/pci/Makefile | 3 +
> drivers/pci/host/Kconfig | 8 +
> drivers/pci/host/Makefile | 1 +
> drivers/pci/host/pci-tegra.c | 1322 ++++++++++++++++++++
> include/linux/io.h | 12 +
> include/linux/of_address.h | 9 +
> include/linux/of_pci.h | 3 +
> lib/ioremap.c | 266 ++++
> 31 files changed, 2203 insertions(+), 1043 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt
> delete mode 100644 arch/arm/mach-tegra/board-harmony-pcie.c
> create mode 100644 arch/arm/mach-tegra/include/mach/pmc.h
> delete mode 100644 arch/arm/mach-tegra/pcie.c
> delete mode 100644 arch/arm/mach-tegra/pmc.h
> create mode 100644 drivers/pci/host/Kconfig
> create mode 100644 drivers/pci/host/Makefile
> create mode 100644 drivers/pci/host/pci-tegra.c
>
prev parent reply other threads:[~2013-03-06 18:16 UTC|newest]
Thread overview: 250+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-09 20:43 [PATCH 00/14] Rewrite Tegra PCIe driver Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 20:43 ` [PATCH 01/14] of/pci: Provide support for parsing PCI DT ranges property Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-11 0:06 ` Stephen Warren
2013-01-11 0:06 ` Stephen Warren
2013-01-11 4:02 ` Thierry Reding
2013-01-11 4:02 ` Thierry Reding
2013-01-11 4:02 ` Thierry Reding
2013-01-09 20:43 ` [PATCH 02/14] of/pci: Add of_pci_get_devfn() function Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-11 0:09 ` Stephen Warren
2013-01-11 0:09 ` Stephen Warren
2013-01-11 0:09 ` Stephen Warren
2013-01-11 4:06 ` Thierry Reding
2013-01-11 4:06 ` Thierry Reding
2013-01-09 20:43 ` [PATCH 03/14] of/pci: Add of_pci_get_bus() function Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 20:43 ` [PATCH 04/14] of/pci: Add of_pci_parse_bus_range() function Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 20:43 ` [PATCH 05/14] lib: Add I/O map cache implementation Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 21:19 ` Arnd Bergmann
2013-01-09 21:19 ` Arnd Bergmann
2013-01-09 21:19 ` Arnd Bergmann
2013-01-09 21:54 ` Thierry Reding
2013-01-09 21:54 ` Thierry Reding
2013-01-09 22:10 ` Arnd Bergmann
2013-01-09 22:10 ` Arnd Bergmann
2013-01-09 22:10 ` Arnd Bergmann
2013-01-09 23:12 ` Stephen Warren
2013-01-09 23:12 ` Stephen Warren
2013-01-09 23:12 ` Stephen Warren
2013-01-09 23:17 ` Jason Gunthorpe
2013-01-09 23:17 ` Jason Gunthorpe
2013-01-10 7:19 ` Thierry Reding
2013-01-10 7:19 ` Thierry Reding
2013-01-10 7:19 ` Thierry Reding
2013-01-10 9:17 ` Arnd Bergmann
2013-01-10 9:17 ` Arnd Bergmann
2013-01-10 9:17 ` Arnd Bergmann
2013-01-10 10:25 ` Thierry Reding
2013-01-10 10:25 ` Thierry Reding
2013-01-10 10:25 ` Thierry Reding
2013-01-10 18:20 ` Jason Gunthorpe
2013-01-10 18:20 ` Jason Gunthorpe
2013-01-10 18:20 ` Jason Gunthorpe
2013-01-10 18:55 ` Thierry Reding
2013-01-10 18:55 ` Thierry Reding
2013-01-10 18:55 ` Thierry Reding
2013-01-10 19:03 ` Thierry Reding
2013-01-10 19:03 ` Thierry Reding
2013-01-10 19:24 ` Jason Gunthorpe
2013-01-10 19:24 ` Jason Gunthorpe
2013-01-10 20:20 ` Thierry Reding
2013-01-10 20:20 ` Thierry Reding
2013-01-10 20:20 ` Thierry Reding
2013-01-10 21:06 ` Jason Gunthorpe
2013-01-10 21:06 ` Jason Gunthorpe
2013-01-10 21:06 ` Jason Gunthorpe
2013-01-16 10:18 ` Thierry Reding
2013-01-16 10:18 ` Thierry Reding
2013-01-16 10:18 ` Thierry Reding
2013-01-16 11:25 ` Russell King - ARM Linux
2013-01-16 11:25 ` Russell King - ARM Linux
2013-01-16 11:25 ` Russell King - ARM Linux
2013-01-16 11:52 ` Thierry Reding
2013-01-16 11:52 ` Thierry Reding
2013-01-16 11:52 ` Thierry Reding
2013-01-10 18:26 ` Arnd Bergmann
2013-01-10 18:26 ` Arnd Bergmann
2013-01-10 18:26 ` Arnd Bergmann
2013-01-10 18:57 ` Thierry Reding
2013-01-10 18:57 ` Thierry Reding
2013-01-10 18:57 ` Thierry Reding
2013-01-10 7:10 ` Thierry Reding
2013-01-10 7:10 ` Thierry Reding
2013-01-10 7:10 ` Thierry Reding
2013-01-09 21:28 ` Russell King - ARM Linux
2013-01-09 21:28 ` Russell King - ARM Linux
2013-01-09 21:28 ` Russell King - ARM Linux
2013-01-09 21:57 ` Thierry Reding
2013-01-09 21:57 ` Thierry Reding
2013-01-09 21:57 ` Thierry Reding
2013-01-09 20:43 ` [PATCH 06/14] ARM: pci: Keep pci_common_init() around after init Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-02-05 20:41 ` Thierry Reding
2013-02-05 20:41 ` Thierry Reding
2013-02-05 20:41 ` Thierry Reding
2013-02-06 16:30 ` Russell King - ARM Linux
2013-02-06 16:30 ` Russell King - ARM Linux
2013-02-06 16:30 ` Russell King - ARM Linux
2013-02-06 19:35 ` Thierry Reding
2013-02-06 19:35 ` Thierry Reding
2013-02-06 19:35 ` Thierry Reding
2013-02-06 8:36 ` Thomas Petazzoni
2013-02-06 8:36 ` Thomas Petazzoni
2013-02-06 8:36 ` Thomas Petazzoni
2013-02-06 16:38 ` Linus Walleij
2013-02-06 16:38 ` Linus Walleij
2013-02-06 16:38 ` Linus Walleij
2013-02-07 0:54 ` Arnd Bergmann
2013-02-07 0:54 ` Arnd Bergmann
2013-02-06 17:07 ` Linus Walleij
2013-02-06 17:07 ` Linus Walleij
2013-02-06 17:07 ` Linus Walleij
2013-02-07 1:20 ` Arnd Bergmann
2013-02-07 1:20 ` Arnd Bergmann
2013-02-07 1:20 ` Arnd Bergmann
2013-01-09 20:43 ` [PATCH 07/14] ARM: pci: Allow passing per-controller private data Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 20:43 ` [PATCH 08/14] ARM: tegra: Move tegra_pcie_xclk_clamp() to PMC Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 20:43 ` [PATCH 09/14] ARM: tegra: Move pmc.h to include/mach Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-11 0:15 ` Stephen Warren
2013-01-11 0:15 ` Stephen Warren
2013-01-11 0:15 ` Stephen Warren
2013-01-11 4:08 ` Thierry Reding
2013-01-11 4:08 ` Thierry Reding
2013-01-11 4:08 ` Thierry Reding
2013-01-09 20:43 ` [PATCH 10/14] PCI: tegra: Move PCIe driver to drivers/pci/host Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 21:22 ` Arnd Bergmann
2013-01-09 21:22 ` Arnd Bergmann
2013-01-09 21:22 ` Arnd Bergmann
2013-01-09 21:58 ` Thierry Reding
2013-01-09 21:58 ` Thierry Reding
2013-01-09 21:58 ` Thierry Reding
2013-01-09 22:03 ` Arnd Bergmann
2013-01-09 22:03 ` Arnd Bergmann
2013-01-10 23:54 ` Stephen Warren
2013-01-10 23:54 ` Stephen Warren
2013-01-11 3:40 ` Thierry Reding
2013-01-11 3:40 ` Thierry Reding
2013-01-11 15:36 ` Arnd Bergmann
2013-01-11 15:36 ` Arnd Bergmann
2013-01-11 15:36 ` Arnd Bergmann
2013-01-11 15:45 ` Thierry Reding
2013-01-11 15:45 ` Thierry Reding
2013-01-11 15:45 ` Thierry Reding
2013-01-12 12:36 ` Thierry Reding
2013-01-12 12:36 ` Thierry Reding
2013-01-12 12:36 ` Thierry Reding
2013-01-12 21:12 ` Arnd Bergmann
2013-01-12 21:12 ` Arnd Bergmann
2013-01-13 9:58 ` Thierry Reding
2013-01-13 9:58 ` Thierry Reding
2013-01-14 9:57 ` Andrew Murray
2013-01-14 9:57 ` Andrew Murray
2013-01-14 9:57 ` Andrew Murray
2013-01-15 12:08 ` Thierry Reding
2013-01-15 12:08 ` Thierry Reding
2013-01-15 12:08 ` Thierry Reding
2013-01-15 12:44 ` Arnd Bergmann
2013-01-15 12:44 ` Arnd Bergmann
2013-01-15 15:40 ` Andrew Murray
2013-01-15 15:40 ` Andrew Murray
2013-01-15 15:40 ` Andrew Murray
2013-01-15 21:14 ` Thierry Reding
2013-01-15 21:14 ` Thierry Reding
2013-01-15 21:14 ` Thierry Reding
2013-01-16 14:00 ` Arnd Bergmann
2013-01-16 14:00 ` Arnd Bergmann
2013-01-16 16:17 ` Andrew Murray
2013-01-16 16:17 ` Andrew Murray
2013-01-16 18:31 ` Thierry Reding
2013-01-16 18:31 ` Thierry Reding
2013-01-17 15:42 ` Andrew Murray
2013-01-17 15:42 ` Andrew Murray
2013-01-17 16:05 ` Thierry Reding
2013-01-17 16:05 ` Thierry Reding
2013-01-17 16:05 ` Thierry Reding
2013-01-17 16:22 ` Andrew Murray
2013-01-17 16:22 ` Andrew Murray
2013-01-17 20:30 ` Thierry Reding
2013-01-17 20:30 ` Thierry Reding
2013-01-17 20:30 ` Thierry Reding
2013-01-18 9:18 ` Andrew Murray
2013-01-18 9:18 ` Andrew Murray
2013-01-22 19:29 ` Jason Gunthorpe
2013-01-22 19:29 ` Jason Gunthorpe
2013-01-22 19:29 ` Jason Gunthorpe
2013-01-29 13:31 ` Andrew Murray
2013-01-29 13:31 ` Andrew Murray
2013-01-11 0:48 ` Stephen Warren
2013-01-11 0:48 ` Stephen Warren
2013-01-11 0:48 ` Stephen Warren
2013-01-11 3:52 ` Thierry Reding
2013-01-11 3:52 ` Thierry Reding
2013-01-11 3:52 ` Thierry Reding
2013-01-11 20:34 ` Stephen Warren
2013-01-11 20:34 ` Stephen Warren
2013-01-18 9:56 ` Andrew Murray
2013-01-18 9:56 ` Andrew Murray
2013-01-18 10:09 ` Thierry Reding
2013-01-18 10:09 ` Thierry Reding
2013-01-18 10:09 ` Thierry Reding
2013-02-13 23:11 ` Thomas Petazzoni
2013-02-13 23:11 ` Thomas Petazzoni
2013-02-13 23:11 ` Thomas Petazzoni
2013-01-09 20:43 ` [PATCH 11/14] ARM: tegra: tamonten: Add PCIe support Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 21:23 ` Arnd Bergmann
2013-01-09 21:23 ` Arnd Bergmann
2013-01-09 21:23 ` Arnd Bergmann
2013-01-10 20:21 ` Thierry Reding
2013-01-10 20:21 ` Thierry Reding
2013-01-10 20:21 ` Thierry Reding
2013-01-09 20:43 ` [PATCH 12/14] ARM: tegra: tec: " Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-11 0:22 ` Stephen Warren
2013-01-11 0:22 ` Stephen Warren
2013-01-11 0:22 ` Stephen Warren
2013-01-11 4:34 ` Thierry Reding
2013-01-11 4:34 ` Thierry Reding
2013-01-09 20:43 ` [PATCH 13/14] ARM: tegra: harmony: Initialize PCIe from DT Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-10 23:58 ` Stephen Warren
2013-01-10 23:58 ` Stephen Warren
2013-01-10 23:58 ` Stephen Warren
2013-01-09 20:43 ` [PATCH 14/14] ARM: tegra: trimslice: " Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-10 23:56 ` Stephen Warren
2013-01-10 23:56 ` Stephen Warren
2013-01-10 23:56 ` Stephen Warren
2013-01-11 18:48 ` Thierry Reding
2013-01-11 18:48 ` Thierry Reding
2013-01-11 18:48 ` Thierry Reding
2013-01-09 21:25 ` [PATCH 00/14] Rewrite Tegra PCIe driver Thomas Petazzoni
2013-01-09 21:25 ` Thomas Petazzoni
2013-01-09 21:25 ` Thomas Petazzoni
2013-01-10 6:55 ` Thierry Reding
2013-01-10 6:55 ` Thierry Reding
2013-01-10 6:55 ` Thierry Reding
2013-01-10 8:34 ` Thomas Petazzoni
2013-01-10 8:34 ` Thomas Petazzoni
2013-01-28 18:15 ` Bjorn Helgaas
2013-01-28 18:15 ` Bjorn Helgaas
[not found] ` <1357764194-12677-1-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2013-03-06 18:16 ` Murali Karicheri [this message]
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=51378819.9060605@ti.com \
--to=m-karicheri2-l0cymroini0@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
/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.