linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@avionic-design.de>
To: Grant Likely <grant.likely@secretlab.ca>,
	Rob Herring <rob.herring@calxeda.com>,
	Stephen Warren <swarren@wwwdotorg.org>,
	Bjorn Helgaas <bhelgaas@google.com>
Cc: Russell King <linux@arm.linux.org.uk>,
	Andrew Murray <andrew.murray@arm.com>,
	Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	devicetree-discuss@lists.ozlabs.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-tegra@vger.kernel.org, linux-pci@vger.kernel.org
Subject: [PATCH v3 00/12] Rewrite Tegra PCIe driver
Date: Wed,  3 Apr 2013 16:45:06 +0200	[thread overview]
Message-ID: <1365000318-28256-1-git-send-email-thierry.reding@avionic-design.de> (raw)

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 3 add generic OF helpers to parse a PCI node's ranges
property as well as obtain the device and function numbers from a node's
reg property.

Patch 4 introduces a new MSI chip infrastructure which is required to
make multiple platform-specific implementations of the MSI support
functions coexist peacefully.

Patches 5 and 6 move some of the Tegra specific code around to allow it
to be used from outside the arch/arm/mach-tegra directory.

Patch 7 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 8 to 11 add device tree based probing for the TEC, Harmony and
TrimSlice boards. Finally the default configuration for Tegra is updated
in patch 12.

Thierry

Andrew Murray (1):
  of/pci: Provide support for parsing PCI DT ranges property

Thierry Reding (11):
  of/pci: Add of_pci_get_devfn() function
  of/pci: Add of_pci_parse_bus_range() function
  PCI: Introduce new MSI chip infrastructure
  ARM: tegra: Move tegra_pcie_xclk_clamp() to PMC
  ARM: tegra: Move pmc.h to include/linux/tegra-pmc.h
  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
  ARM: tegra: Update default configuration (PCIe)

 .../bindings/pci/nvidia,tegra20-pcie.txt           |  123 ++
 arch/arm/boot/dts/tegra20-harmony.dts              |   20 +-
 arch/arm/boot/dts/tegra20-tamonten.dtsi            |   17 +-
 arch/arm/boot/dts/tegra20-tec.dts                  |    8 +
 arch/arm/boot/dts/tegra20-trimslice.dts            |   28 +
 arch/arm/boot/dts/tegra20.dtsi                     |   53 +
 arch/arm/configs/tegra_defconfig                   |    4 +-
 arch/arm/mach-tegra/Kconfig                        |    7 +-
 arch/arm/mach-tegra/Makefile                       |    3 -
 arch/arm/mach-tegra/board-harmony-pcie.c           |   89 --
 arch/arm/mach-tegra/board.h                        |    8 -
 arch/arm/mach-tegra/iomap.h                        |    3 -
 arch/arm/mach-tegra/pcie.c                         |  886 -----------
 arch/arm/mach-tegra/pmc.c                          |   16 +
 arch/arm/mach-tegra/tegra.c                        |   24 -
 arch/microblaze/pci/pci-common.c                   |  110 +-
 arch/mips/pci/pci.c                                |   50 +-
 arch/powerpc/kernel/pci-common.c                   |   99 +-
 drivers/of/address.c                               |   63 +
 drivers/of/of_pci.c                                |   59 +-
 drivers/pci/Kconfig                                |    2 +
 drivers/pci/Makefile                               |    3 +
 drivers/pci/host/Kconfig                           |    8 +
 drivers/pci/host/Makefile                          |    1 +
 drivers/pci/host/pci-tegra.c                       | 1560 ++++++++++++++++++++
 drivers/pci/msi.c                                  |   35 +-
 drivers/pci/probe.c                                |    1 +
 include/linux/msi.h                                |   10 +
 include/linux/of_address.h                         |   42 +
 include/linux/of_pci.h                             |    2 +
 include/linux/pci.h                                |    1 +
 include/linux/tegra-pmc.h                          |   23 +
 32 files changed, 2155 insertions(+), 1203 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt
 delete mode 100644 arch/arm/mach-tegra/board-harmony-pcie.c
 delete mode 100644 arch/arm/mach-tegra/pcie.c
 create mode 100644 drivers/pci/host/Kconfig
 create mode 100644 drivers/pci/host/Makefile
 create mode 100644 drivers/pci/host/pci-tegra.c
 create mode 100644 include/linux/tegra-pmc.h

-- 
1.8.2


             reply	other threads:[~2013-04-03 14:45 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-03 14:45 Thierry Reding [this message]
2013-04-03 14:45 ` [PATCH v3 01/12] of/pci: Provide support for parsing PCI DT ranges property Thierry Reding
2013-04-03 14:45 ` [PATCH v3 02/12] of/pci: Add of_pci_get_devfn() function Thierry Reding
2013-04-03 14:45 ` [PATCH v3 03/12] of/pci: Add of_pci_parse_bus_range() function Thierry Reding
2013-04-03 14:45 ` [PATCH v3 04/12] PCI: Introduce new MSI chip infrastructure Thierry Reding
2013-04-03 14:45 ` [PATCH v3 05/12] ARM: tegra: Move tegra_pcie_xclk_clamp() to PMC Thierry Reding
2013-04-03 14:45 ` [PATCH v3 06/12] ARM: tegra: Move pmc.h to include/linux/tegra-pmc.h Thierry Reding
2013-04-03 14:45 ` [PATCH v3 07/12] PCI: tegra: Move PCIe driver to drivers/pci/host Thierry Reding
2013-04-04 21:28   ` Stephen Warren
2013-04-04 21:30     ` Stephen Warren
2013-04-05  6:03       ` Thierry Reding
2013-04-10 22:46         ` Stephen Warren
2013-04-05  7:37     ` Thierry Reding
2013-04-05  7:53       ` Thierry Reding
2013-04-10 23:05       ` Stephen Warren
2013-04-15 18:28   ` Stephen Warren
2013-06-12 12:30     ` Thierry Reding
2013-06-12 16:09       ` Stephen Warren
2013-06-12 21:23         ` Thierry Reding
2013-04-03 14:45 ` [PATCH v3 08/12] ARM: tegra: tamonten: Add PCIe support Thierry Reding
2013-04-03 14:45 ` [PATCH v3 09/12] ARM: tegra: tec: " Thierry Reding
2013-04-03 14:45 ` [PATCH v3 10/12] ARM: tegra: harmony: Initialize PCIe from DT Thierry Reding
2013-04-03 14:45 ` [PATCH v3 11/12] ARM: tegra: trimslice: " Thierry Reding
2013-04-03 14:45 ` [PATCH v3 12/12] ARM: tegra: Update default configuration (PCIe) Thierry Reding

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=1365000318-28256-1-git-send-email-thierry.reding@avionic-design.de \
    --to=thierry.reding@avionic-design.de \
    --cc=andrew.murray@arm.com \
    --cc=arnd@arndb.de \
    --cc=bhelgaas@google.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=jgunthorpe@obsidianresearch.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=rob.herring@calxeda.com \
    --cc=swarren@wwwdotorg.org \
    --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 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).