linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jayachandran C <jchandra@broadcom.com>
To: Bjorn Helgaas <helgaas@kernel.org>,
	Tomasz Nowicki <tn@semihalf.com>,
	rafael@kernel.org
Cc: Jayachandran C <jchandra@broadcom.com>,
	Arnd Bergmann <arnd@arndb.de>, Will Deacon <will.deacon@arm.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Hanjun Guo <hanjun.guo@linaro.org>,
	Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
	okaya@codeaurora.org, jiang.liu@linux.intel.com,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	robert.richter@caviumnetworks.com,
	Marcin Wojtas <mw@semihalf.com>,
	Liviu.Dudau@arm.com, David Daney <ddaney@caviumnetworks.com>,
	wangyijing@huawei.com, Suravee.Suthikulpanit@amd.com,
	msalter@redhat.com, linux-pci@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org,
	linux-kernel@vger.kernel.org, linaro-acpi@lists.linaro.org,
	Jon Masters <jcm@redhat.com>
Subject: [PATCH v2 0/4] ACPI based PCI host driver with generic ECAM
Date: Tue, 12 Apr 2016 04:15:03 +0530	[thread overview]
Message-ID: <1460414707-19153-1-git-send-email-jchandra@broadcom.com> (raw)

Here is v2 of the patchset for the ACPI PCI controller driver based on
the earlier discussion[1].

This patchset unifies the pci-host-generic ECAM code and the ACPI PCI
ECAM code much further so that both the implementations can use the
same structure (struct pci_config_window) as ->sysdata.

The patchset should also make it easier to share platform quirks between
DT and ACPI PCI controller drivers using struct pci_generic_ecam_ops.

Short description of the patches in the patchset:
 - fixup arm64 PCI code so that it can use the generic ACPI PCI driver.
 - implement pci/drivers/ecam.[ch] which will replace
   drivers/pci/host/pci-host-common.h API for ECAM access and will be
   shared by ACPI and DT.
 - Update users of the pci-host-common API to the ecam API
 - implement a simple PCI ACPI host. I have not used the pci_mmcfg_list
   or the region definitions from x86, but have used a much simpler
   approach here.

This should apply cleanly on top of the current 4.6 tree or the pci
next tree, and can be reviewed as a patchset. The full set of changes
for arm64 includes other fixes, that series is available at
https://github.com/jchandra-brcm/linux branch arm64-acpi-pci-v2

This has been tested on qemu with OVMF for the ACPI part and with
device tree for pci-host-generic code. Further testing and reviews
are welcome.

Thanks,
JC.

[1] https://lkml.org/lkml/2016/3/3/921

Jayachandran C (4):
  arm64: Prepare to use generic ACPI PCI implementation
  PCI: Provide common functions for ECAM mapping
  PCI: generic, thunder: update to use generic ECAM API
  ACPI: PCI: Add generic PCI host controller

 arch/arm64/Kconfig                  |   3 +
 arch/arm64/kernel/pci.c             |   7 +-
 drivers/acpi/Kconfig                |   9 ++
 drivers/acpi/Makefile               |   1 +
 drivers/acpi/pci_gen_host.c         | 258 ++++++++++++++++++++++++++++++++++++
 drivers/pci/Kconfig                 |   3 +
 drivers/pci/Makefile                |   2 +
 drivers/pci/ecam.c                  | 130 ++++++++++++++++++
 drivers/pci/ecam.h                  |  63 +++++++++
 drivers/pci/host/Kconfig            |   1 +
 drivers/pci/host/pci-host-common.c  | 121 ++++++++---------
 drivers/pci/host/pci-host-common.h  |  47 -------
 drivers/pci/host/pci-host-generic.c |  50 ++-----
 drivers/pci/host/pci-thunder-ecam.c |  37 +-----
 drivers/pci/host/pci-thunder-pem.c  |  53 +++-----
 15 files changed, 560 insertions(+), 225 deletions(-)
 create mode 100644 drivers/acpi/pci_gen_host.c
 create mode 100644 drivers/pci/ecam.c
 create mode 100644 drivers/pci/ecam.h
 delete mode 100644 drivers/pci/host/pci-host-common.h

-- 
1.9.1

             reply	other threads:[~2016-04-11 22:45 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-11 22:45 Jayachandran C [this message]
2016-04-11 22:45 ` [PATCH v2 1/4] arm64: Prepare to use generic ACPI PCI implementation Jayachandran C
2016-04-11 22:45 ` [PATCH v2 2/4] PCI: Provide common functions for ECAM mapping Jayachandran C
2016-04-12  0:24   ` David Daney
2016-04-12  4:26     ` Jon Masters
2016-04-12 16:44       ` Lorenzo Pieralisi
2016-04-14  5:55         ` Jon Masters
2016-04-14 10:05           ` Lorenzo Pieralisi
2016-04-14 15:40     ` Jayachandran C
2016-04-11 22:45 ` [PATCH v2 3/4] PCI: generic, thunder: update to use generic ECAM API Jayachandran C
2016-04-12  0:34   ` David Daney
2016-04-14 14:15     ` Jayachandran C
2016-04-11 22:45 ` [PATCH v2 4/4] ACPI: PCI: Add generic PCI host controller Jayachandran C
2016-04-12  1:38   ` kbuild test robot
2016-04-14 15:53   ` Sinan Kaya
2016-04-14 15:58     ` Sinan Kaya

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=1460414707-19153-1-git-send-email-jchandra@broadcom.com \
    --to=jchandra@broadcom.com \
    --cc=Liviu.Dudau@arm.com \
    --cc=Lorenzo.Pieralisi@arm.com \
    --cc=Stefano.Stabellini@eu.citrix.com \
    --cc=Suravee.Suthikulpanit@amd.com \
    --cc=arnd@arndb.de \
    --cc=catalin.marinas@arm.com \
    --cc=ddaney@caviumnetworks.com \
    --cc=hanjun.guo@linaro.org \
    --cc=helgaas@kernel.org \
    --cc=jcm@redhat.com \
    --cc=jiang.liu@linux.intel.com \
    --cc=linaro-acpi@lists.linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=msalter@redhat.com \
    --cc=mw@semihalf.com \
    --cc=okaya@codeaurora.org \
    --cc=rafael@kernel.org \
    --cc=robert.richter@caviumnetworks.com \
    --cc=tn@semihalf.com \
    --cc=wangyijing@huawei.com \
    --cc=will.deacon@arm.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).