All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH V5 0/5] ECAM quirks handling for ARM64 platforms
@ 2016-08-08 13:05 ` Tomasz Nowicki
  0 siblings, 0 replies; 63+ messages in thread
From: Tomasz Nowicki @ 2016-08-08 13:05 UTC (permalink / raw)
  To: helgaas, arnd, will.deacon, catalin.marinas, rafael, Lorenzo.Pieralisi
  Cc: hanjun.guo, okaya, jchandra, cov, dhdang, ard.biesheuvel,
	robert.richter, mw, Liviu.Dudau, ddaney, wangyijing, msalter,
	linux-pci, linux-arm-kernel, linaro-acpi, jcm, andrea.gallo,
	jeremy.linton, liudongdong3, gabriele.paoloni, jhugo, linux-acpi,
	linux-kernel, 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

-- 
1.9.1

^ permalink raw reply	[flat|nested] 63+ messages in thread
* [RFC PATCH V5 0/5] ECAM quirks handling for ARM64 platforms
@ 2016-08-08 12:56 Tomasz Nowicki
  2016-08-08 12:56   ` Tomasz Nowicki
  0 siblings, 1 reply; 63+ messages in thread
From: Tomasz Nowicki @ 2016-08-08 12:56 UTC (permalink / raw)
  To: helgaas, arnd, will.deacon, catalin.marinas, rafael, Lorenzo.Pieralisi
  Cc: hanjun.guo, okaya, jchandra, cov, dhdang, ard.biesheuvel,
	robert.richter, mw, Liviu.Dudau, ddaney, wangyijing, msalter,
	linux-pci, linux-arm-kernel, linaro-acpi, jcm, andrea.gallo,
	jeremy.linton, liudongdong3, gabriele.paoloni, jhugo,
	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

-- 
1.9.1

^ permalink raw reply	[flat|nested] 63+ messages in thread

end of thread, other threads:[~2016-09-06 19:14 UTC | newest]

Thread overview: 63+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-08 13:05 [RFC PATCH V5 0/5] ECAM quirks handling for ARM64 platforms Tomasz Nowicki
2016-08-08 13:05 ` Tomasz Nowicki
2016-08-08 13:05 ` [RFC PATCH V5 1/5] PCI: Embed pci_ecam_ops in pci_config_window structure Tomasz Nowicki
2016-08-08 13:05   ` Tomasz Nowicki
2016-09-01 18:23   ` Bjorn Helgaas
2016-09-01 18:23     ` Bjorn Helgaas
2016-09-01 18:23     ` Bjorn Helgaas
2016-09-01 18:23     ` Bjorn Helgaas
2016-09-02 15:38     ` Lorenzo Pieralisi
2016-09-02 15:38       ` Lorenzo Pieralisi
2016-09-05  2:22       ` Bjorn Helgaas
2016-09-05  2:22         ` Bjorn Helgaas
2016-08-08 13:05 ` [RFC PATCH V5 2/5] PCI/ACPI: Move ACPI ECAM mapping to generic MCFG driver Tomasz Nowicki
2016-08-08 13:05   ` Tomasz Nowicki
2016-09-05  2:22   ` Bjorn Helgaas
2016-09-05  2:22     ` Bjorn Helgaas
2016-09-06 18:04     ` Tomasz Nowicki
2016-09-06 18:04       ` Tomasz Nowicki
2016-08-08 13:05 ` [RFC PATCH V5 3/5] PCI: Check platform specific ECAM quirks Tomasz Nowicki
2016-08-08 13:05   ` Tomasz Nowicki
2016-08-08 15:34   ` Mark Salter
2016-08-08 15:34     ` Mark Salter
2016-08-09  6:10     ` Tomasz Nowicki
2016-08-09  6:10       ` Tomasz Nowicki
2016-09-05  2:25   ` Bjorn Helgaas
2016-09-05  2:25     ` Bjorn Helgaas
2016-09-06 17:49     ` Tomasz Nowicki
2016-09-06 17:49       ` Tomasz Nowicki
2016-09-06 19:14       ` Arnd Bergmann
2016-09-06 19:14         ` Arnd Bergmann
2016-09-05  2:59   ` Bjorn Helgaas
2016-09-05  2:59     ` Bjorn Helgaas
2016-09-05  2:59     ` Bjorn Helgaas
2016-08-08 13:05 ` [RFC PATCH V5 4/5] ARM64/PCI: Start using quirks handling for ACPI based PCI host controller Tomasz Nowicki
2016-08-08 13:05   ` Tomasz Nowicki
2016-09-05  2:27   ` Bjorn Helgaas
2016-09-05  2:27     ` Bjorn Helgaas
2016-08-08 13:05 ` [RFC PATCH V5 5/5] PCI: thunder-pem: Support quirky configuration space access " Tomasz Nowicki
2016-08-08 13:05   ` Tomasz Nowicki
2016-08-09 11:04   ` Robert Richter
2016-08-09 11:04     ` Robert Richter
2016-08-09 11:04     ` Robert Richter
2016-08-09 11:04     ` Robert Richter
2016-09-05  2:34   ` Bjorn Helgaas
2016-09-05  2:34     ` Bjorn Helgaas
2016-09-06 18:01     ` Tomasz Nowicki
2016-09-06 18:01       ` Tomasz Nowicki
2016-08-08 15:13 ` [RFC PATCH V5 0/5] ECAM quirks handling for ARM64 platforms Graeme Gregory
2016-08-08 15:13   ` Graeme Gregory
2016-08-08 19:44 ` Mark Salter
2016-08-08 19:44   ` Mark Salter
2016-08-09  9:20 ` Dongdong Liu
2016-08-09  9:20   ` Dongdong Liu
2016-08-09  9:20   ` Dongdong Liu
2016-08-09 10:29 ` Robert Richter
2016-08-09 10:29   ` Robert Richter
2016-08-09 10:29   ` Robert Richter
2016-08-09 10:29   ` Robert Richter
2016-08-09 14:20 ` Duc Dang
2016-08-09 14:20   ` Duc Dang
2016-08-09 14:20   ` Duc Dang
  -- strict thread matches above, loose matches on Subject: below --
2016-08-08 12:56 Tomasz Nowicki
2016-08-08 12:56 ` [RFC PATCH V5 5/5] PCI: thunder-pem: Support quirky configuration space access for ACPI based PCI host controller Tomasz Nowicki
2016-08-08 12:56   ` Tomasz Nowicki

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.