All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Linton <jeremy.linton@arm.com>
To: linux-pci@vger.kernel.org
Cc: lorenzo.pieralisi@arm.com, nsaenz@kernel.org,
	bhelgaas@google.com, rjw@rjwysocki.net, lenb@kernel.org,
	robh@kernel.org, kw@linux.com, f.fainelli@gmail.com,
	bcm-kernel-feedback-list@broadcom.com,
	linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-rpi-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	Jeremy Linton <jeremy.linton@arm.com>
Subject: [PATCH v3 0/4] CM4 ACPI PCIe quirk
Date: Thu, 26 Aug 2021 02:15:53 -0500	[thread overview]
Message-ID: <20210826071557.29239-1-jeremy.linton@arm.com> (raw)

The PFTF CM4 is an ACPI platform that is following the Arm PCIe SMC
(DEN0115) standard because its PCIe config space isn't ECAM compliant
since it is split into two parts. One part describes the root port
registers, and another contains a moveable window pointing at a given
device's 4K config space. Thus it doesn't have an MCFG table. As
Linux doesn't support the PCI/SMC, a host bridge specific _DSD is
added and associated with custom ECAM ops and cfgres.  The custom cfg
op selects between those two regions, as well as disallowing
problematic accesses.

V2->V3:
	Rebase to -next to pickup new MAINTAINERS entries that
	       needed updating.
	Enforce _DSD property is exactly the same len as the
		MCFG OEM field it is overriding.
	More commit/comment tweaks.
	
V1->V2:
	Only move register definitions to new .h file, add
	     include guards.
	Change quirk namespace identifier.
	Update Maintainers file.
	A number of whitespace, grammar, etc fixes.

Jeremy Linton (4):
  PCI: brcmstb: Break register definitions into separate header
  PCI: brcmstb: Add ACPI config space quirk
  PCI/ACPI: Add Broadcom bcm2711 MCFG quirk
  MAINTAINERS: Widen brcmstb PCIe file scope

 MAINTAINERS                                |   6 +-
 drivers/acpi/pci_mcfg.c                    |  17 +++
 drivers/pci/controller/Makefile            |   1 +
 drivers/pci/controller/pcie-brcmstb-acpi.c |  79 +++++++++++
 drivers/pci/controller/pcie-brcmstb.c      | 149 +-------------------
 drivers/pci/controller/pcie-brcmstb.h      | 155 +++++++++++++++++++++
 include/linux/pci-ecam.h                   |   1 +
 7 files changed, 257 insertions(+), 151 deletions(-)
 create mode 100644 drivers/pci/controller/pcie-brcmstb-acpi.c
 create mode 100644 drivers/pci/controller/pcie-brcmstb.h

-- 
2.31.1


WARNING: multiple messages have this Message-ID (diff)
From: Jeremy Linton <jeremy.linton@arm.com>
To: linux-pci@vger.kernel.org
Cc: lorenzo.pieralisi@arm.com, nsaenz@kernel.org,
	bhelgaas@google.com, rjw@rjwysocki.net, lenb@kernel.org,
	robh@kernel.org, kw@linux.com, f.fainelli@gmail.com,
	bcm-kernel-feedback-list@broadcom.com,
	linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-rpi-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	Jeremy Linton <jeremy.linton@arm.com>
Subject: [PATCH v3 0/4] CM4 ACPI PCIe quirk
Date: Thu, 26 Aug 2021 02:15:53 -0500	[thread overview]
Message-ID: <20210826071557.29239-1-jeremy.linton@arm.com> (raw)

The PFTF CM4 is an ACPI platform that is following the Arm PCIe SMC
(DEN0115) standard because its PCIe config space isn't ECAM compliant
since it is split into two parts. One part describes the root port
registers, and another contains a moveable window pointing at a given
device's 4K config space. Thus it doesn't have an MCFG table. As
Linux doesn't support the PCI/SMC, a host bridge specific _DSD is
added and associated with custom ECAM ops and cfgres.  The custom cfg
op selects between those two regions, as well as disallowing
problematic accesses.

V2->V3:
	Rebase to -next to pickup new MAINTAINERS entries that
	       needed updating.
	Enforce _DSD property is exactly the same len as the
		MCFG OEM field it is overriding.
	More commit/comment tweaks.
	
V1->V2:
	Only move register definitions to new .h file, add
	     include guards.
	Change quirk namespace identifier.
	Update Maintainers file.
	A number of whitespace, grammar, etc fixes.

Jeremy Linton (4):
  PCI: brcmstb: Break register definitions into separate header
  PCI: brcmstb: Add ACPI config space quirk
  PCI/ACPI: Add Broadcom bcm2711 MCFG quirk
  MAINTAINERS: Widen brcmstb PCIe file scope

 MAINTAINERS                                |   6 +-
 drivers/acpi/pci_mcfg.c                    |  17 +++
 drivers/pci/controller/Makefile            |   1 +
 drivers/pci/controller/pcie-brcmstb-acpi.c |  79 +++++++++++
 drivers/pci/controller/pcie-brcmstb.c      | 149 +-------------------
 drivers/pci/controller/pcie-brcmstb.h      | 155 +++++++++++++++++++++
 include/linux/pci-ecam.h                   |   1 +
 7 files changed, 257 insertions(+), 151 deletions(-)
 create mode 100644 drivers/pci/controller/pcie-brcmstb-acpi.c
 create mode 100644 drivers/pci/controller/pcie-brcmstb.h

-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2021-08-26  7:16 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-26  7:15 Jeremy Linton [this message]
2021-08-26  7:15 ` [PATCH v3 0/4] CM4 ACPI PCIe quirk Jeremy Linton
2021-08-26  7:15 ` [PATCH v3 1/4] PCI: brcmstb: Break register definitions into separate header Jeremy Linton
2021-08-26  7:15   ` Jeremy Linton
2021-08-30  8:37   ` nicolas saenz julienne
2021-08-30  8:37     ` nicolas saenz julienne
2021-08-26  7:15 ` [PATCH v3 2/4] PCI: brcmstb: Add ACPI config space quirk Jeremy Linton
2021-08-26  7:15   ` Jeremy Linton
2021-08-30  8:36   ` nicolas saenz julienne
2021-08-30  8:36     ` nicolas saenz julienne
2021-08-30 16:23     ` Jeremy Linton
2021-08-30 16:23       ` Jeremy Linton
2021-08-30 16:27       ` Florian Fainelli
2021-08-30 16:27         ` Florian Fainelli
2021-08-30 17:17         ` nicolas saenz julienne
2021-08-30 17:17           ` nicolas saenz julienne
2021-10-05 15:32   ` Bjorn Helgaas
2021-10-05 15:32     ` Bjorn Helgaas
2021-10-05 15:57     ` Jeremy Linton
2021-10-05 15:57       ` Jeremy Linton
2021-10-05 19:43       ` Pali Rohár
2021-10-05 19:43         ` Pali Rohár
2021-10-05 22:25         ` Jeremy Linton
2021-10-05 22:25           ` Jeremy Linton
2021-10-06  2:07           ` Florian Fainelli
2021-10-06  2:07             ` Florian Fainelli
2021-10-22 17:04             ` Florian Fainelli
2021-10-22 17:04               ` Florian Fainelli
2021-10-22 17:17               ` Pali Rohár
2021-10-22 17:17                 ` Pali Rohár
2021-10-22 17:29                 ` Florian Fainelli
2021-10-22 17:29                   ` Florian Fainelli
2021-10-22 17:57                   ` Pali Rohár
2021-10-22 17:57                     ` Pali Rohár
2021-08-26  7:15 ` [PATCH v3 3/4] PCI/ACPI: Add Broadcom bcm2711 MCFG quirk Jeremy Linton
2021-08-26  7:15   ` Jeremy Linton
2021-08-30  8:37   ` nicolas saenz julienne
2021-08-30  8:37     ` nicolas saenz julienne
2021-09-13 16:12   ` Rafael J. Wysocki
2021-09-13 16:12     ` Rafael J. Wysocki
2021-10-05 15:10   ` Bjorn Helgaas
2021-10-05 15:10     ` Bjorn Helgaas
2021-10-05 15:43     ` Jeremy Linton
2021-10-05 15:43       ` Jeremy Linton
2021-10-05 22:31       ` Bjorn Helgaas
2021-10-05 22:31         ` Bjorn Helgaas
2021-10-05 23:32         ` Jeremy Linton
2021-10-05 23:32           ` Jeremy Linton
2021-10-05 20:02   ` Pali Rohár
2021-10-05 20:02     ` Pali Rohár
2021-10-05 22:44     ` Jeremy Linton
2021-10-05 22:44       ` Jeremy Linton
2021-08-26  7:15 ` [PATCH v3 4/4] MAINTAINERS: Widen brcmstb PCIe file scope Jeremy Linton
2021-08-26  7:15   ` Jeremy Linton
2021-08-30  8:38   ` nicolas saenz julienne
2021-08-30  8:38     ` nicolas saenz julienne

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=20210826071557.29239-1-jeremy.linton@arm.com \
    --to=jeremy.linton@arm.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=bhelgaas@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=kw@linux.com \
    --cc=lenb@kernel.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=linux-rpi-kernel@lists.infradead.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=nsaenz@kernel.org \
    --cc=rjw@rjwysocki.net \
    --cc=robh@kernel.org \
    /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.