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


Groups > linux.kernel > #1457774 > unrolled thread

[RFC PATCH V5 0/5] ECAM quirks handling for ARM64 platforms

Started byTomasz Nowicki <tn@semihalf.com>
First post2016-08-08 15:10 +0200
Last post2016-08-09 16:30 +0200
Articles 5 — 5 participants

Back to article view | Back to linux.kernel


Contents

  [RFC PATCH V5 0/5] ECAM quirks handling for ARM64 platforms Tomasz Nowicki <tn@semihalf.com> - 2016-08-08 15:10 +0200
    Re: [RFC PATCH V5 0/5] ECAM quirks handling for ARM64 platforms Graeme Gregory <gg@slimlogic.co.uk> - 2016-08-08 17:20 +0200
    Re: [RFC PATCH V5 0/5] ECAM quirks handling for ARM64 platforms Mark Salter <msalter@redhat.com> - 2016-08-08 21:50 +0200
    Re: [RFC PATCH V5 0/5] ECAM quirks handling for ARM64 platforms Dongdong Liu <liudongdong3@huawei.com> - 2016-08-09 11:30 +0200
    Re: [RFC PATCH V5 0/5] ECAM quirks handling for ARM64 platforms Duc Dang <dhdang@apm.com> - 2016-08-09 16:30 +0200

#1457774 — [RFC PATCH V5 0/5] ECAM quirks handling for ARM64 platforms

FromTomasz Nowicki <tn@semihalf.com>
Date2016-08-08 15:10 +0200
Subject[RFC PATCH V5 0/5] ECAM quirks handling for ARM64 platforms
Message-ID<s3StA-1Oa-15@gated-at.bofh.it>
Quirk handling relies on an idea of matching MCFG OEM ID, TABLE ID and
revision (the ones from standard header of MCFG table).

Static array is used to keep quirk entries. Each entry consists of
mentioned MCFG IDs along with custom pci_ops structure and initialization call.

As an example, the last patch presents quirk handling mechanism usage for
ThunderX PEM driver.

v4 -> v5
- rebase against v4.8-rc1
- rework to exact MCFG OEM ID, TABLE ID, rev match
  - use memcmp instead of strncmp
  - no substring match
- fix typos and dmesg message

Tomasz Nowicki (5):
  PCI: Embed pci_ecam_ops in pci_config_window structure
  PCI/ACPI: Move ACPI ECAM mapping to generic MCFG driver
  PCI: Check platform specific ECAM quirks
  ARM64/PCI: Start using quirks handling for ACPI based PCI host
    controller
  PCI: thunder-pem: Support quirky configuration space access for ACPI
    based PCI host controller

 arch/arm64/kernel/pci.c            | 42 +----------------
 drivers/acpi/pci_mcfg.c            | 40 ++++++++++++++++
 drivers/pci/ecam.c                 |  6 +--
 drivers/pci/host/Makefile          |  1 +
 drivers/pci/host/mcfg-quirks.c     | 93 ++++++++++++++++++++++++++++++++++++
 drivers/pci/host/mcfg-quirks.h     | 24 ++++++++++
 drivers/pci/host/pci-thunder-pem.c | 96 ++++++++++++++++++++++++++++++++------
 include/linux/pci-acpi.h           |  5 ++
 include/linux/pci-ecam.h           |  2 +-
 9 files changed, 252 insertions(+), 57 deletions(-)
 create mode 100644 drivers/pci/host/mcfg-quirks.c
 create mode 100644 drivers/pci/host/mcfg-quirks.h

-- 
1.9.1

[toc] | [next] | [standalone]


#1457859

FromGraeme Gregory <gg@slimlogic.co.uk>
Date2016-08-08 17:20 +0200
Message-ID<s3Uvo-325-7@gated-at.bofh.it>
In reply to#1457774
On Mon, Aug 08, 2016 at 03:05:36PM +0200, Tomasz Nowicki wrote:
> Quirk handling relies on an idea of matching MCFG OEM ID, TABLE ID and
> revision (the ones from standard header of MCFG table).
> 
> Static array is used to keep quirk entries. Each entry consists of
> mentioned MCFG IDs along with custom pci_ops structure and initialization call.
> 
> As an example, the last patch presents quirk handling mechanism usage for
> ThunderX PEM driver.
> 

Series looks good to me.

Reviewed-by: Graeme Gregory <graeme.gregory@linaro.org>

> v4 -> v5
> - rebase against v4.8-rc1
> - rework to exact MCFG OEM ID, TABLE ID, rev match
>   - use memcmp instead of strncmp
>   - no substring match
> - fix typos and dmesg message
> 
> Tomasz Nowicki (5):
>   PCI: Embed pci_ecam_ops in pci_config_window structure
>   PCI/ACPI: Move ACPI ECAM mapping to generic MCFG driver
>   PCI: Check platform specific ECAM quirks
>   ARM64/PCI: Start using quirks handling for ACPI based PCI host
>     controller
>   PCI: thunder-pem: Support quirky configuration space access for ACPI
>     based PCI host controller
> 
>  arch/arm64/kernel/pci.c            | 42 +----------------
>  drivers/acpi/pci_mcfg.c            | 40 ++++++++++++++++
>  drivers/pci/ecam.c                 |  6 +--
>  drivers/pci/host/Makefile          |  1 +
>  drivers/pci/host/mcfg-quirks.c     | 93 ++++++++++++++++++++++++++++++++++++
>  drivers/pci/host/mcfg-quirks.h     | 24 ++++++++++
>  drivers/pci/host/pci-thunder-pem.c | 96 ++++++++++++++++++++++++++++++++------
>  include/linux/pci-acpi.h           |  5 ++
>  include/linux/pci-ecam.h           |  2 +-
>  9 files changed, 252 insertions(+), 57 deletions(-)
>  create mode 100644 drivers/pci/host/mcfg-quirks.c
>  create mode 100644 drivers/pci/host/mcfg-quirks.h
> 
> -- 
> 1.9.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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


#1458173

FromMark Salter <msalter@redhat.com>
Date2016-08-08 21:50 +0200
Message-ID<s3YIH-5FD-41@gated-at.bofh.it>
In reply to#1457774
On Mon, 2016-08-08 at 15:05 +0200, Tomasz Nowicki wrote:
> Quirk handling relies on an idea of matching MCFG OEM ID, TABLE ID and
> revision (the ones from standard header of MCFG table).
> 
> Static array is used to keep quirk entries. Each entry consists of
> mentioned MCFG IDs along with custom pci_ops structure and initialization call.
> 
> As an example, the last patch presents quirk handling mechanism usage for
> ThunderX PEM driver.
> 
> v4 -> v5
> - rebase against v4.8-rc1
> - rework to exact MCFG OEM ID, TABLE ID, rev match
>   - use memcmp instead of strncmp
>   - no substring match
> - fix typos and dmesg message
> 
> Tomasz Nowicki (5):
>   PCI: Embed pci_ecam_ops in pci_config_window structure
>   PCI/ACPI: Move ACPI ECAM mapping to generic MCFG driver
>   PCI: Check platform specific ECAM quirks
>   ARM64/PCI: Start using quirks handling for ACPI based PCI host
>     controller
>   PCI: thunder-pem: Support quirky configuration space access for ACPI
>     based PCI host controller
> 
>  arch/arm64/kernel/pci.c            | 42 +----------------
>  drivers/acpi/pci_mcfg.c            | 40 ++++++++++++++++
>  drivers/pci/ecam.c                 |  6 +--
>  drivers/pci/host/Makefile          |  1 +
>  drivers/pci/host/mcfg-quirks.c     | 93 ++++++++++++++++++++++++++++++++++++
>  drivers/pci/host/mcfg-quirks.h     | 24 ++++++++++
>  drivers/pci/host/pci-thunder-pem.c | 96 ++++++++++++++++++++++++++++++++------
>  include/linux/pci-acpi.h           |  5 ++
>  include/linux/pci-ecam.h           |  2 +-
>  9 files changed, 252 insertions(+), 57 deletions(-)
>  create mode 100644 drivers/pci/host/mcfg-quirks.c
>  create mode 100644 drivers/pci/host/mcfg-quirks.h
> 

Tested-by: Mark Salter <msalter@redhat.com>

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


#1458544

FromDongdong Liu <liudongdong3@huawei.com>
Date2016-08-09 11:30 +0200
Message-ID<s4bwe-5Ex-25@gated-at.bofh.it>
In reply to#1457774
在 2016/8/8 21:05, Tomasz Nowicki 写道:
> Quirk handling relies on an idea of matching MCFG OEM ID, TABLE ID and
> revision (the ones from standard header of MCFG table).
>
> Static array is used to keep quirk entries. Each entry consists of
> mentioned MCFG IDs along with custom pci_ops structure and initialization call.
>
> As an example, the last patch presents quirk handling mechanism usage for
> ThunderX PEM driver.
>
> v4 -> v5
> - rebase against v4.8-rc1
> - rework to exact MCFG OEM ID, TABLE ID, rev match
>    - use memcmp instead of strncmp
>    - no substring match
> - fix typos and dmesg message
>
> Tomasz Nowicki (5):
>    PCI: Embed pci_ecam_ops in pci_config_window structure
>    PCI/ACPI: Move ACPI ECAM mapping to generic MCFG driver
>    PCI: Check platform specific ECAM quirks
>    ARM64/PCI: Start using quirks handling for ACPI based PCI host
>      controller
>    PCI: thunder-pem: Support quirky configuration space access for ACPI
>      based PCI host controller
>
>   arch/arm64/kernel/pci.c            | 42 +----------------
>   drivers/acpi/pci_mcfg.c            | 40 ++++++++++++++++
>   drivers/pci/ecam.c                 |  6 +--
>   drivers/pci/host/Makefile          |  1 +
>   drivers/pci/host/mcfg-quirks.c     | 93 ++++++++++++++++++++++++++++++++++++
>   drivers/pci/host/mcfg-quirks.h     | 24 ++++++++++
>   drivers/pci/host/pci-thunder-pem.c | 96 ++++++++++++++++++++++++++++++++------
>   include/linux/pci-acpi.h           |  5 ++
>   include/linux/pci-ecam.h           |  2 +-
>   9 files changed, 252 insertions(+), 57 deletions(-)
>   create mode 100644 drivers/pci/host/mcfg-quirks.c
>   create mode 100644 drivers/pci/host/mcfg-quirks.h
>

Based on the patchset, tested on HiSilicon D03 board with intel 82599 net card. It worked OK.

Tested-by: Dongdong Liu <liudongdong3@huawei.com>

Thanks
Dongdong

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


#1458796

FromDuc Dang <dhdang@apm.com>
Date2016-08-09 16:30 +0200
Message-ID<s4gcx-je-1@gated-at.bofh.it>
In reply to#1457774
On Mon, Aug 8, 2016 at 6:05 AM, Tomasz Nowicki <tn@semihalf.com> wrote:
> Quirk handling relies on an idea of matching MCFG OEM ID, TABLE ID and
> revision (the ones from standard header of MCFG table).
>
> Static array is used to keep quirk entries. Each entry consists of
> mentioned MCFG IDs along with custom pci_ops structure and initialization call.
>
> As an example, the last patch presents quirk handling mechanism usage for
> ThunderX PEM driver.

Tested on X-Gene with X-Gene Ecam quirk and the PCIe ports work fine
with this patch set.

>
> v4 -> v5
> - rebase against v4.8-rc1
> - rework to exact MCFG OEM ID, TABLE ID, rev match
>   - use memcmp instead of strncmp
>   - no substring match
> - fix typos and dmesg message
>
> Tomasz Nowicki (5):
>   PCI: Embed pci_ecam_ops in pci_config_window structure
>   PCI/ACPI: Move ACPI ECAM mapping to generic MCFG driver
>   PCI: Check platform specific ECAM quirks
>   ARM64/PCI: Start using quirks handling for ACPI based PCI host
>     controller
>   PCI: thunder-pem: Support quirky configuration space access for ACPI
>     based PCI host controller
>
>  arch/arm64/kernel/pci.c            | 42 +----------------
>  drivers/acpi/pci_mcfg.c            | 40 ++++++++++++++++
>  drivers/pci/ecam.c                 |  6 +--
>  drivers/pci/host/Makefile          |  1 +
>  drivers/pci/host/mcfg-quirks.c     | 93 ++++++++++++++++++++++++++++++++++++
>  drivers/pci/host/mcfg-quirks.h     | 24 ++++++++++
>  drivers/pci/host/pci-thunder-pem.c | 96 ++++++++++++++++++++++++++++++++------
>  include/linux/pci-acpi.h           |  5 ++
>  include/linux/pci-ecam.h           |  2 +-
>  9 files changed, 252 insertions(+), 57 deletions(-)
>  create mode 100644 drivers/pci/host/mcfg-quirks.c
>  create mode 100644 drivers/pci/host/mcfg-quirks.h
>
> --
> 1.9.1
>
Regards,
Duc Dang.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web