Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1360183 > unrolled thread

[RFC PATCH 0/4] ACPI based PCI host driver with generic ECAM

Started byJayachandran C <jchandra@broadcom.com>
First post2016-03-17 21:40 +0100
Last post2016-03-28 20:10 +0200
Articles 5 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [RFC PATCH 0/4] ACPI based PCI host driver with generic ECAM Jayachandran C <jchandra@broadcom.com> - 2016-03-17 21:40 +0100
    Re: [RFC PATCH 0/4] ACPI based PCI host driver with generic ECAM Jayachandran C <jchandra@broadcom.com> - 2016-03-18 18:50 +0100
      RE: [RFC PATCH 0/4] ACPI based PCI host driver with generic ECAM Gabriele Paoloni <gabriele.paoloni@huawei.com> - 2016-03-23 11:30 +0100
        Re: [RFC PATCH 0/4] ACPI based PCI host driver with generic ECAM Sinan Kaya <okaya@codeaurora.org> - 2016-03-28 15:50 +0200
          Re: [RFC PATCH 0/4] ACPI based PCI host driver with generic ECAM Jayachandran C <jchandra@broadcom.com> - 2016-03-28 20:10 +0200

#1360183 — [RFC PATCH 0/4] ACPI based PCI host driver with generic ECAM

FromJayachandran C <jchandra@broadcom.com>
Date2016-03-17 21:40 +0100
Subject[RFC PATCH 0/4] ACPI based PCI host driver with generic ECAM
Message-ID<rdMS6-3KT-3@gated-at.bofh.it>
Hi Bjorn,

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

The first two patches in the patchset implements pci/ecam.c for generic
config space access and uses it in pci-host-generic.c and related files.

The third patch implements the ACPI PCI host driver using the same ecam
access functions. The fourth patch adds the implementation of raw
operations.

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 pci next tree, and
can be reviewed as a patchset.  To use it on ARM64, we need to pull
in about 7 patches more from Tomasz patchset that fixes various
issues (like stub code in arm64 pci.c, ACPI companion setup,
domain number assignment, IO resources fixup etc.).

If you are okay with this approach, I will work with Tomasz and
post the full patchset.

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

Thanks,
JC.

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

Jayachandran C (4):
  PCI: Provide generic ECAM mapping functions
  PCI: generic,thunder: Use generic config functions
  ACPI: PCI: Add generic PCI host controller
  ACPI: PCI: Add raw_pci_read/write operations

 drivers/acpi/Kconfig                |   9 +
 drivers/acpi/Makefile               |   1 +
 drivers/acpi/pci_gen_host.c         | 334 ++++++++++++++++++++++++++++++++++++
 drivers/pci/Kconfig                 |   3 +
 drivers/pci/Makefile                |   2 +
 drivers/pci/ecam.c                  | 127 ++++++++++++++
 drivers/pci/host/Kconfig            |   1 +
 drivers/pci/host/pci-host-common.c  |  68 ++++----
 drivers/pci/host/pci-host-common.h  |  25 +--
 drivers/pci/host/pci-host-generic.c |  51 +-----
 drivers/pci/host/pci-thunder-ecam.c |  33 +---
 drivers/pci/host/pci-thunder-pem.c  |  41 ++---
 include/linux/pci.h                 |  10 ++
 13 files changed, 560 insertions(+), 145 deletions(-)
 create mode 100644 drivers/acpi/pci_gen_host.c
 create mode 100644 drivers/pci/ecam.c

-- 
1.9.1

[toc] | [next] | [standalone]


#1360835

FromJayachandran C <jchandra@broadcom.com>
Date2016-03-18 18:50 +0100
Message-ID<re6H9-3uY-27@gated-at.bofh.it>
In reply to#1360183
On Fri, Mar 18, 2016 at 1:48 AM, Jayachandran C <jchandra@broadcom.com> wrote:
> Hi Bjorn,
>
> Here is a new patchset for the ACPI PCI controller driver based on the
> earlier discussion[1].
>
> The first two patches in the patchset implements pci/ecam.c for generic
> config space access and uses it in pci-host-generic.c and related files.
>
> The third patch implements the ACPI PCI host driver using the same ecam
> access functions. The fourth patch adds the implementation of raw
> operations.
>
> 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 pci next tree, and
> can be reviewed as a patchset.  To use it on ARM64, we need to pull
> in about 7 patches more from Tomasz patchset that fixes various
> issues (like stub code in arm64 pci.c, ACPI companion setup,
> domain number assignment, IO resources fixup etc.).
>
> If you are okay with this approach, I will work with Tomasz and
> post the full patchset.
>
> This has been tested on qemu with OVMF for the ACPI part and with
> device tree for pci-host-generic code.

The full patchset is available at https://github.com/jchandra-brcm/linux.git on
branch arm64-acpi-pci, if anyone wants to try it.

Comments, suggestions and testing would be welcome.

Thanks,
JC.

[toc] | [prev] | [next] | [standalone]


#1363303

FromGabriele Paoloni <gabriele.paoloni@huawei.com>
Date2016-03-23 11:30 +0100
Message-ID<rfOd4-1Yu-1@gated-at.bofh.it>
In reply to#1360835
Hi Jayachandran

> -----Original Message-----
> From: linux-kernel-owner@vger.kernel.org [mailto:linux-kernel-
> owner@vger.kernel.org] On Behalf Of Jayachandran C
> Sent: 18 March 2016 17:48
> To: Bjorn Helgaas; Tomasz Nowicki; rafael@kernel.org
> Cc: Jayachandran C; Arnd Bergmann; Will Deacon; Catalin Marinas; Hanjun
> Guo; Lorenzo Pieralisi; okaya@codeaurora.org;
> jiang.liu@linux.intel.com; Stefano Stabellini;
> robert.richter@caviumnetworks.com; Marcin Wojtas; Liviu.Dudau@arm.com;
> David Daney; Wangyijing; 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
> Subject: Re: [RFC PATCH 0/4] ACPI based PCI host driver with generic
> ECAM
> 
> On Fri, Mar 18, 2016 at 1:48 AM, Jayachandran C <jchandra@broadcom.com>
> wrote:
> > Hi Bjorn,
> >
> > Here is a new patchset for the ACPI PCI controller driver based on
> the
> > earlier discussion[1].
> >
> > The first two patches in the patchset implements pci/ecam.c for
> generic
> > config space access and uses it in pci-host-generic.c and related
> files.
> >
> > The third patch implements the ACPI PCI host driver using the same
> ecam
> > access functions. The fourth patch adds the implementation of raw
> > operations.
> >
> > 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 pci next tree, and
> > can be reviewed as a patchset.  To use it on ARM64, we need to pull
> > in about 7 patches more from Tomasz patchset that fixes various
> > issues (like stub code in arm64 pci.c, ACPI companion setup,
> > domain number assignment, IO resources fixup etc.).
> >
> > If you are okay with this approach, I will work with Tomasz and
> > post the full patchset.
> >
> > This has been tested on qemu with OVMF for the ACPI part and with
> > device tree for pci-host-generic code.
> 
> The full patchset is available at https://github.com/jchandra-
> brcm/linux.git on
> branch arm64-acpi-pci, if anyone wants to try it.

I had a look at your patchset and also in your git repo at the other
patches that you ported over from Tomasz; it seems that now we miss
a quirk mechanism to enable controller that are not fully ECAM.

This was provided before by Tomasz in:
https://lkml.org/lkml/2016/2/16/410

I think we should put something like that back in...

Thanks

Gab

> 
> Comments, suggestions and testing would be welcome.
> 
> Thanks,
> JC.

[toc] | [prev] | [next] | [standalone]


#1365500

FromSinan Kaya <okaya@codeaurora.org>
Date2016-03-28 15:50 +0200
Message-ID<rhFIl-7PN-5@gated-at.bofh.it>
In reply to#1363303
Hi,

On 3/23/2016 6:22 AM, Gabriele Paoloni wrote:
> I had a look at your patchset and also in your git repo at the other
> patches that you ported over from Tomasz; it seems that now we miss
> a quirk mechanism to enable controller that are not fully ECAM.
> 
> This was provided before by Tomasz in:
> https://lkml.org/lkml/2016/2/16/410
> 
> I think we should put something like that back in...
> 
> Thanks
> 
> Gab

I was requested to test your patchset. I'll need this mechanism before
I can start.

Sinan

-- 
Sinan Kaya
Qualcomm Technologies, Inc. on behalf of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project

[toc] | [prev] | [next] | [standalone]


#1365617

FromJayachandran C <jchandra@broadcom.com>
Date2016-03-28 20:10 +0200
Message-ID<rhJLY-2kc-11@gated-at.bofh.it>
In reply to#1365500
On Mon, Mar 28, 2016 at 7:12 PM, Sinan Kaya <okaya@codeaurora.org> wrote:
> Hi,
>
> On 3/23/2016 6:22 AM, Gabriele Paoloni wrote:
>> I had a look at your patchset and also in your git repo at the other
>> patches that you ported over from Tomasz; it seems that now we miss
>> a quirk mechanism to enable controller that are not fully ECAM.
>>
>> This was provided before by Tomasz in:
>> https://lkml.org/lkml/2016/2/16/410
>>
>> I think we should put something like that back in...

Like Tomasz mentioned in his mail, his approach does not work
for raw operations. I have added raw operations in may patchset,
so we have to come up with a new approach or decide that raw
operations can be dropped.

I am waiting for the overall acceptance of the patch set before
going further along this path

>>
>> Thanks
>>
>> Gab
>
> I was requested to test your patchset. I'll need this mechanism before
> I can start.

Please see above, we will need to look at the quirks again.

> Sinan

JC.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web