From: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org, linux-acpi@vger.kernel.org,
linux-kernel@vger.kernel.org, rafael@kernel.org, lukas@wunner.de,
terry.bowman@amd.com, kanie@linux.alibaba.com, olof@lixom.net,
Kuppuswamy Sathyanarayanan
<sathyanarayanan.kuppuswamy@linux.intel.com>
Subject: [PATCH v14 0/4] Simplify PCIe native ownership
Date: Tue, 22 Sep 2026 13:45:44 -0700 [thread overview]
Message-ID: <20260922204548.3884906-1-sathyanarayanan.kuppuswamy@linux.intel.com> (raw)
This revives Bjorn's v12 from November 2020, rebased onto v7.3-rc3.
https://lore.kernel.org/all/20201126011816.711106-1-helgaas@kernel.org/
The goal is unchanged. Decide who owns each PCIe port service in one
place, when we interpret the _OSC results in acpi_pci_root_create(), so
that everywhere else only has to look at host_bridge->native_X. For AER
specifically, host_bridge->native_aer becomes the single answer to the
question "may Linux touch the AER Capability?". Today callers each have
to remember to also test pcie_ports_native and pci_aer_available().
I posted v11. Bjorn took it over at v12, split the _OSC changes in two
and deferred the "pcie_ports=dpc-native" work. The v12 review comments
were agreed but never respun, and the series stalled. v13 was that
respin.
https://lore.kernel.org/r/cover.1603766889.git.sathyanarayanan.kuppuswamy@linux.intel.com [v11]
Bjorn suggested reviving it in response to Guixin Liu's report that
"pcie_ports=native" no longer enables DPC. The DPC service binds on
host_bridge->native_aer, and that flag did not reflect the command line,
so DPC stayed off when firmware retained AER control. Patch 3 fixes it
by making the flag reflect it.
https://lore.kernel.org/linux-pci/20260901064554.2178688-1-kanie@linux.alibaba.com/
Patch 3 has a side effect worth calling out. drivers/cxl/core/ras.c did
not exist in 2020 and tests host_bridge->native_aer with no
pcie_ports_native fallback, so it has been quietly ignoring
"pcie_ports=native". Centralizing the check fixes that.
Two things are left for later, to keep this series a cleanup.
* pci_aer_available() stays in the DPC arm of
get_port_device_capability(), because "pcie_ports=dpc-native" still
needs it there.
* We still gate the DPC service on native_aer and ignore
OSC_PCI_EXPRESS_DPC_CONTROL, as Bjorn noted in the v12 cover letter.
Fixing it changes behavior, so it wants its own patch.
Changes since v13:
* Lukas suggested dropping AER cap check fix (patch 1 of v13). He has
a series underway to fix it cleanly (removing DPC/AER dependency).
So dropped the patch as suggested.
https://lore.kernel.org/r/aq95LGUHL-pnmTlr@wunner.de
* Addressed use of IS_ENABLED(CONFIG_PCIEPORTBUS) instead of #ifdef
(Lukas).
* Added Fixes tag in patch 3 (Guixin Liu).
* Added Acks from Rafael.
v13 posting
https://lore.kernel.org/r/20260919162655.3499010-1-sathyanarayanan.kuppuswamy@linux.intel.com
Bjorn Helgaas (1):
PCI: Centralize pci_aer_available() checking
Kuppuswamy Sathyanarayanan (3):
PCI: Assume control of portdrv-related features only when portdrv
enabled
PCI/ACPI: Tidy _OSC control bit checking
PCI/ACPI: Centralize pcie_ports_native checking
drivers/acpi/pci_root.c | 73 ++++++++++++++++++++++++-------
drivers/pci/hotplug/pciehp_core.c | 2 +-
drivers/pci/pci-acpi.c | 3 --
drivers/pci/pcie/aer.c | 6 +--
drivers/pci/pcie/aer_cxl_rch.c | 2 +-
drivers/pci/pcie/err.c | 2 +-
drivers/pci/pcie/portdrv.c | 7 ++-
drivers/pci/probe.c | 10 +++--
8 files changed, 73 insertions(+), 32 deletions(-)
base-commit: fd73f4a6659897191fa0d40695fe370925dd3780
--
2.43.0
next reply other threads:[~2026-09-22 20:45 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-22 20:45 Kuppuswamy Sathyanarayanan [this message]
2026-09-22 20:45 ` [PATCH v14 1/4] PCI: Assume control of portdrv-related features only when portdrv enabled Kuppuswamy Sathyanarayanan
2026-09-22 20:45 ` [PATCH v14 2/4] PCI/ACPI: Tidy _OSC control bit checking Kuppuswamy Sathyanarayanan
2026-09-22 20:45 ` [PATCH v14 3/4] PCI/ACPI: Centralize pcie_ports_native checking Kuppuswamy Sathyanarayanan
2026-09-23 1:44 ` Guixin Liu
2026-10-01 20:54 ` Bjorn Helgaas
2026-10-01 21:48 ` Kuppuswamy Sathyanarayanan
2026-10-01 22:14 ` Bjorn Helgaas
2026-09-22 20:45 ` [PATCH v14 4/4] PCI: Centralize pci_aer_available() checking Kuppuswamy Sathyanarayanan
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=20260922204548.3884906-1-sathyanarayanan.kuppuswamy@linux.intel.com \
--to=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=bhelgaas@google.com \
--cc=kanie@linux.alibaba.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lukas@wunner.de \
--cc=olof@lixom.net \
--cc=rafael@kernel.org \
--cc=terry.bowman@amd.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®