All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: Tomasz Nowicki <tomasz.nowicki@linaro.org>
Cc: Will Deacon <Will.Deacon@arm.com>,
	"hanjun.guo@linaro.org" <hanjun.guo@linaro.org>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Catalin Marinas <Catalin.Marinas@arm.com>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Jiang Liu <jiang.liu@linux.intel.com>,
	Liviu Dudau <Liviu.Dudau@arm.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Yijing Wang <wangyijing@huawei.com>,
	"suravee.suthikulpanit@amd.com" <suravee.suthikulpanit@amd.com>,
	"msalter@redhat.com" <msalter@redhat.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linaro-acpi@lists.linaro.org" <linaro-acpi@lists.linaro.org>
Subject: Re: [PATCH 05/11] x86, pci, acpi: Move arch-agnostic MMCONFIG (aka ECAM) and ACPI code out of arch/x86/ directory
Date: Tue, 2 Jun 2015 14:32:15 +0100	[thread overview]
Message-ID: <20150602133215.GC23650@red-moon> (raw)
In-Reply-To: <55657B02.5090805@linaro.org>

On Wed, May 27, 2015 at 09:06:26AM +0100, Tomasz Nowicki wrote:
> On 26.05.2015 19:08, Will Deacon wrote:
> > On Tue, May 26, 2015 at 01:49:18PM +0100, Hanjun Guo wrote:
> >> From: Tomasz Nowicki <tomasz.nowicki@linaro.org>
> >>
> >> ECAM standard and MCFG table are architecture independent and it makes
> >> sense to share common code across all architectures. Both are going to
> >> corresponding files - ecam.c and mcfg.c
> >>
> >> While we are here, rename pci_parse_mcfg to acpi_parse_mcfg.
> >> We already have acpi_parse_mcfg prototype which is used nowhere.
> >> At the same time, we need pci_parse_mcfg been global so acpi_parse_mcfg
> >> can be used perfectly here.
> >>
> >> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@linaro.org>
> >> Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
> >> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
> >> ---
> >>   arch/x86/Kconfig               |   3 +
> >>   arch/x86/include/asm/pci_x86.h |  33 ------
> >>   arch/x86/pci/acpi.c            |   1 +
> >>   arch/x86/pci/mmconfig-shared.c | 244 +---------------------------------------
> >>   arch/x86/pci/mmconfig_32.c     |   1 +
> >>   arch/x86/pci/mmconfig_64.c     |   1 +
> >>   arch/x86/pci/numachip.c        |   1 +
> >>   drivers/acpi/Makefile          |   1 +
> >>   drivers/acpi/mcfg.c            |  57 ++++++++++
> >>   drivers/pci/Kconfig            |   7 ++
> >>   drivers/pci/Makefile           |   5 +
> >>   drivers/pci/ecam.c             | 245 +++++++++++++++++++++++++++++++++++++++++
> >
> > Why can't we make use of the ECAM implementation used by pci-host-generic
> > and drivers/pci/access.c?
> 
> We had that question when I had posted MMCFG patch set separately, 
> please see:
> https://lkml.org/lkml/2015/3/11/492

Yes, but the real question is, why do we need to have PCI config space
up and running before a bus struct is even created ? I think the reason is
the PCI configuration address space format (ACPI 6.0, Table 5-27, page
108):

"PCI Configuration space addresses must be confined to devices on
PCI Segment Group 0, bus 0. This restriction exists to accommodate
access to fixed hardware prior to PCI bus enumeration".

On HW reduced platforms I do not even think this is required at all,
we have to look into this to avoid code duplication that might well
turn out useless.

Lorenzo

WARNING: multiple messages have this Message-ID (diff)
From: lorenzo.pieralisi@arm.com (Lorenzo Pieralisi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 05/11] x86, pci, acpi: Move arch-agnostic MMCONFIG (aka ECAM) and ACPI code out of arch/x86/ directory
Date: Tue, 2 Jun 2015 14:32:15 +0100	[thread overview]
Message-ID: <20150602133215.GC23650@red-moon> (raw)
In-Reply-To: <55657B02.5090805@linaro.org>

On Wed, May 27, 2015 at 09:06:26AM +0100, Tomasz Nowicki wrote:
> On 26.05.2015 19:08, Will Deacon wrote:
> > On Tue, May 26, 2015 at 01:49:18PM +0100, Hanjun Guo wrote:
> >> From: Tomasz Nowicki <tomasz.nowicki@linaro.org>
> >>
> >> ECAM standard and MCFG table are architecture independent and it makes
> >> sense to share common code across all architectures. Both are going to
> >> corresponding files - ecam.c and mcfg.c
> >>
> >> While we are here, rename pci_parse_mcfg to acpi_parse_mcfg.
> >> We already have acpi_parse_mcfg prototype which is used nowhere.
> >> At the same time, we need pci_parse_mcfg been global so acpi_parse_mcfg
> >> can be used perfectly here.
> >>
> >> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@linaro.org>
> >> Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
> >> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
> >> ---
> >>   arch/x86/Kconfig               |   3 +
> >>   arch/x86/include/asm/pci_x86.h |  33 ------
> >>   arch/x86/pci/acpi.c            |   1 +
> >>   arch/x86/pci/mmconfig-shared.c | 244 +---------------------------------------
> >>   arch/x86/pci/mmconfig_32.c     |   1 +
> >>   arch/x86/pci/mmconfig_64.c     |   1 +
> >>   arch/x86/pci/numachip.c        |   1 +
> >>   drivers/acpi/Makefile          |   1 +
> >>   drivers/acpi/mcfg.c            |  57 ++++++++++
> >>   drivers/pci/Kconfig            |   7 ++
> >>   drivers/pci/Makefile           |   5 +
> >>   drivers/pci/ecam.c             | 245 +++++++++++++++++++++++++++++++++++++++++
> >
> > Why can't we make use of the ECAM implementation used by pci-host-generic
> > and drivers/pci/access.c?
> 
> We had that question when I had posted MMCFG patch set separately, 
> please see:
> https://lkml.org/lkml/2015/3/11/492

Yes, but the real question is, why do we need to have PCI config space
up and running before a bus struct is even created ? I think the reason is
the PCI configuration address space format (ACPI 6.0, Table 5-27, page
108):

"PCI Configuration space addresses must be confined to devices on
PCI Segment Group 0, bus 0. This restriction exists to accommodate
access to fixed hardware prior to PCI bus enumeration".

On HW reduced platforms I do not even think this is required at all,
we have to look into this to avoid code duplication that might well
turn out useless.

Lorenzo

  reply	other threads:[~2015-06-02 13:32 UTC|newest]

Thread overview: 175+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-26 12:49 [PATCH 00/11] ARM64 PCI hostbridge init based on ACPI Hanjun Guo
2015-05-26 12:49 ` Hanjun Guo
2015-05-26 12:49 ` Hanjun Guo
2015-05-26 12:49 ` [PATCH 01/11] ARM64 / PCI: introduce struct pci_controller for ACPI Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 16:58   ` Liviu Dudau
2015-05-26 16:58     ` Liviu Dudau
2015-05-26 16:58     ` Liviu Dudau
2015-05-26 16:58     ` Liviu Dudau
2015-05-26 17:20     ` Jiang Liu
2015-05-26 17:20       ` Jiang Liu
2015-05-26 17:20       ` Jiang Liu
2015-05-27  8:21       ` Hanjun Guo
2015-05-27  8:21         ` Hanjun Guo
2015-05-27  8:21         ` Hanjun Guo
2015-09-07  4:14         ` Ganapatrao Kulkarni
2015-09-07  4:14           ` Ganapatrao Kulkarni
2015-09-07  4:14           ` Ganapatrao Kulkarni
2015-09-07  8:45           ` Lorenzo Pieralisi
2015-09-07  8:45             ` Lorenzo Pieralisi
2015-09-07  8:45             ` Lorenzo Pieralisi
2015-09-08 13:35             ` Hanjun Guo
2015-09-08 13:35               ` Hanjun Guo
2015-09-08 13:35               ` Hanjun Guo
2015-05-27  9:47       ` Liviu Dudau
2015-05-27  9:47         ` Liviu Dudau
2015-05-27  9:47         ` Liviu Dudau
2015-05-27  9:47         ` Liviu Dudau
2015-05-27 11:29         ` Jiang Liu
2015-05-27 11:29           ` Jiang Liu
2015-05-27 11:29           ` Jiang Liu
2015-05-26 12:49 ` [PATCH 02/11] x86, pci: Clean up comment about buggy MMIO config space access for AMD Fam10h CPUs Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-08-31 12:04   ` Tomasz Nowicki
2015-08-31 12:04     ` Tomasz Nowicki
2015-05-26 12:49 ` [PATCH 03/11] x86, pci: Abstract PCI config accessors and use AMD Fam10h workaround exclusively Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 12:49 ` [PATCH 04/11] x86, pci: Reorder logic of pci_mmconfig_insert() function Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 12:49 ` [PATCH 05/11] x86, pci, acpi: Move arch-agnostic MMCONFIG (aka ECAM) and ACPI code out of arch/x86/ directory Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 17:08   ` Will Deacon
2015-05-26 17:08     ` Will Deacon
2015-05-26 17:08     ` Will Deacon
2015-05-27  8:06     ` Tomasz Nowicki
2015-05-27  8:06       ` Tomasz Nowicki
2015-05-27  8:06       ` Tomasz Nowicki
2015-06-02 13:32       ` Lorenzo Pieralisi [this message]
2015-06-02 13:32         ` Lorenzo Pieralisi
2015-06-02 13:32         ` Lorenzo Pieralisi
2015-06-04  9:28         ` Hanjun Guo
2015-06-04  9:28           ` Hanjun Guo
2015-06-04  9:28           ` Hanjun Guo
2015-06-04 10:22           ` Lorenzo Pieralisi
2015-06-04 10:22             ` Lorenzo Pieralisi
2015-06-04 10:22             ` Lorenzo Pieralisi
2015-06-04 12:28             ` Hanjun Guo
2015-06-04 12:28               ` Hanjun Guo
2015-06-04 12:28               ` Hanjun Guo
2015-06-04 12:28               ` Hanjun Guo
2015-06-08  2:57               ` Hanjun Guo
2015-06-08  2:57                 ` Hanjun Guo
2015-06-08  2:57                 ` Hanjun Guo
2015-06-08  2:57                 ` Hanjun Guo
2015-06-08 15:14                 ` Lorenzo Pieralisi
2015-06-08 15:14                   ` Lorenzo Pieralisi
2015-06-08 15:14                   ` Lorenzo Pieralisi
2015-08-31 11:01                   ` Tomasz Nowicki
2015-08-31 11:01                     ` Tomasz Nowicki
2015-08-31 11:01                     ` Tomasz Nowicki
2015-09-07  9:59                     ` Tomasz Nowicki
2015-09-07  9:59                       ` Tomasz Nowicki
2015-09-07  9:59                       ` Tomasz Nowicki
2015-09-08 15:07                       ` Lorenzo Pieralisi
2015-09-08 15:07                         ` Lorenzo Pieralisi
2015-09-08 15:07                         ` Lorenzo Pieralisi
2015-09-09 13:47                         ` Tomasz Nowicki
2015-09-09 13:47                           ` Tomasz Nowicki
2015-09-09 13:47                           ` Tomasz Nowicki
2015-09-09 13:47                           ` Tomasz Nowicki
2015-09-11 11:20                           ` Lorenzo Pieralisi
2015-09-11 11:20                             ` Lorenzo Pieralisi
2015-09-11 11:20                             ` Lorenzo Pieralisi
2015-09-11 12:35                             ` Tomasz Nowicki
2015-09-11 12:35                               ` Tomasz Nowicki
2015-09-11 12:35                               ` Tomasz Nowicki
2015-09-14  9:37                               ` Lorenzo Pieralisi
2015-09-14  9:37                                 ` Lorenzo Pieralisi
2015-09-14  9:37                                 ` Lorenzo Pieralisi
2015-09-14 11:34                                 ` Tomasz Nowicki
2015-09-14 11:34                                   ` Tomasz Nowicki
2015-09-14 11:34                                   ` Tomasz Nowicki
2015-09-14 14:55                             ` Tomasz Nowicki
2015-09-14 14:55                               ` Tomasz Nowicki
2015-09-14 14:55                               ` Tomasz Nowicki
2015-09-25 16:02                               ` Tomasz Nowicki
2015-09-25 16:02                                 ` Tomasz Nowicki
2015-09-25 16:02                                 ` Tomasz Nowicki
2015-09-25 16:19                                 ` Lorenzo Pieralisi
2015-09-25 16:19                                   ` Lorenzo Pieralisi
2015-09-25 16:19                                   ` Lorenzo Pieralisi
2015-10-15 13:22                               ` Lorenzo Pieralisi
2015-10-15 13:22                                 ` Lorenzo Pieralisi
2015-10-15 13:22                                 ` Lorenzo Pieralisi
2015-10-15 14:34                                 ` Tomasz Nowicki
2015-10-15 14:34                                   ` Tomasz Nowicki
2015-10-15 14:34                                   ` Tomasz Nowicki
2015-10-15 16:26                                   ` Marc Zyngier
2015-10-15 16:26                                     ` Marc Zyngier
2015-10-15 16:26                                     ` Marc Zyngier
2015-10-15 18:51                                     ` Tomasz Nowicki
2015-10-15 18:51                                       ` Tomasz Nowicki
2015-10-15 18:51                                       ` Tomasz Nowicki
2015-05-26 12:49 ` [PATCH 06/11] pci, acpi, mcfg: Provide generic implementation of MCFG code initialization Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 12:49 ` [PATCH 07/11] x86, pci: mmconfig_{32, 64}.c code refactoring - remove code duplication Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 12:49   ` [PATCH 07/11] x86, pci: mmconfig_{32,64}.c " Hanjun Guo
2015-05-26 12:49 ` [PATCH 08/11] x86, pci, ecam: mmconfig_64.c becomes default implementation for ECAM driver Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 12:49 ` [PATCH 09/11] pci, acpi, mcfg: Share ACPI PCI config space accessors Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 12:49 ` [PATCH 10/11] XEN / PCI: Remove the dependence on arch x86 when PCI_MMCONFIG=y Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 13:54   ` Boris Ostrovsky
2015-05-26 13:54     ` Boris Ostrovsky
2015-05-26 14:00     ` Boris Ostrovsky
2015-05-26 14:00       ` Boris Ostrovsky
2015-05-26 14:54       ` Tomasz Nowicki
2015-05-26 14:54         ` Tomasz Nowicki
2015-05-26 15:44         ` Boris Ostrovsky
2015-05-26 15:44           ` Boris Ostrovsky
2015-05-27  3:55           ` Hanjun Guo
2015-05-27  3:55             ` Hanjun Guo
2015-05-26 12:49 ` [PATCH 11/11] ARM64 / PCI / ACPI: support for ACPI based PCI hostbridge init Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 12:49   ` Hanjun Guo
2015-05-26 15:12   ` Tomasz Nowicki
2015-05-26 15:12     ` Tomasz Nowicki
2015-05-27  7:31     ` Hanjun Guo
2015-05-27  7:31       ` Hanjun Guo
2015-05-27  7:31       ` Hanjun Guo
2015-05-26 17:13   ` Will Deacon
2015-05-26 17:13     ` Will Deacon
2015-05-26 17:13     ` Will Deacon
2015-05-26 17:24     ` Jiang Liu
2015-05-26 17:24       ` Jiang Liu
2015-05-26 17:24       ` Jiang Liu
2015-05-27  0:30 ` [PATCH 00/11] ARM64 PCI hostbridge init based on ACPI Rafael J. Wysocki
2015-05-27  0:30   ` Rafael J. Wysocki
2015-05-27  3:57   ` Hanjun Guo
2015-05-27  3:57     ` Hanjun Guo
2015-06-08 12:05     ` Jagan Teki
2015-06-08 12:05       ` Jagan Teki
2015-06-08 12:05       ` Jagan Teki
2015-06-10  2:47       ` Hanjun Guo
2015-06-10  2:47         ` Hanjun Guo
2015-06-10  2:47         ` Hanjun Guo
2015-10-15 19:15 ` Jon Masters
2015-10-15 19:15   ` Jon Masters
2015-10-15 23:42   ` Hanjun Guo
2015-10-15 23:42     ` Hanjun Guo
2015-10-15 23:49     ` Jon Masters
2015-10-15 23:49       ` Jon Masters
2015-12-07 20:29 ` Bjorn Helgaas
2015-12-07 20:29   ` Bjorn Helgaas

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=20150602133215.GC23650@red-moon \
    --to=lorenzo.pieralisi@arm.com \
    --cc=Catalin.Marinas@arm.com \
    --cc=Liviu.Dudau@arm.com \
    --cc=Will.Deacon@arm.com \
    --cc=arnd@arndb.de \
    --cc=bhelgaas@google.com \
    --cc=hanjun.guo@linaro.org \
    --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=rjw@rjwysocki.net \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=tglx@linutronix.de \
    --cc=tomasz.nowicki@linaro.org \
    --cc=wangyijing@huawei.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.