From: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
"Rafael J . Wysocki" <rafael@kernel.org>,
Lukas Wunner <lukas@wunner.de>,
Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
Oliver O'Halloran <oohall@gmail.com>, Len Brown <lenb@kernel.org>,
linux-pci@vger.kernel.org, linux-acpi@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/4] PCI/DPC: Decide DPC ownership with host_bridge->native_dpc
Date: Tue, 13 Oct 2026 09:34:44 -0700 [thread overview]
Message-ID: <4723da77-acb2-4063-93d5-bf1cefd6b6e5@linux.intel.com> (raw)
In-Reply-To: <20261012232018.GA1428722@bhelgaas>
Hi Bjorn,
On 10/12/2026 4:20 PM, Bjorn Helgaas wrote:
> On Wed, Oct 07, 2026 at 09:58:36AM -0700, Kuppuswamy Sathyanarayanan wrote:
>> This series makes host_bridge->native_dpc the single decider for whether
>> Linux uses DPC, as Bjorn asked during the review of "Simplify PCIe native
>> ownership".
>>
>> https://lore.kernel.org/r/20261001221408.GA2731929@bhelgaas
>>
>> Today the DPC service binds on host_bridge->native_aer, AER availability
>> and "pcie_ports=dpc-native". host_bridge->native_dpc is only consulted
>> by pci_dpc_recovered(). After this series, native_dpc is the end result
>> of everything that decides DPC ownership, and portdrv binds the DPC
>> service on it.
>>
>> The series applies on top of two others:
>>
>> - pci/portdrv, which has patches 1-3 of v15 of "Simplify PCIe native
>> ownership". They fold "pcie_ports=native" and "pcie_ports=dpc-native"
>> into the _OSC control mask, so native_dpc already reflects the
>> command line.
>>
>> https://lore.kernel.org/r/20261002211828.1293177-1-sathyanarayanan.kuppuswamy@linux.intel.com
>>
>> - Lukas's "Error reporting for AER-incapable devices". It removes the
>> AER Capability requirement from the DPC driver.
>>
>> https://lore.kernel.org/r/cover.1790531238.git.lukas@wunner.de
>
> My impression was that Lukas planned to tweak a couple things in that
> series, e.g., https://lore.kernel.org/all/arltOHrdHdokyfC9@wunner.de
>
> Does this actually depend on Lukas' series? If so, can we include the
> relevant patch here?
It applies and builds on pci/portdrv without Lukas's series. It only
depends on his first two patches, which are DPC fixes. The rework he
mentioned is for patches 6 and 7, and this series doesn't need those.
PCI/DPC: Avoid access to non-existent AER capability
PCI/DPC: Reinstate support for AER-incapable ports
dpc_probe() still returns -ENOTSUPP unless the OS owns AER or
"pcie_ports=dpc-native" is given. Without Lukas's patch 2, portdrv
creates the DPC service from native_dpc, but dpc_probe() then rejects it
when firmware grants DPC and retains AER. So the change in patch 4 would
not take effect. Lukas's patch 2 needs his patch 1, because the DPC
driver uses the AER capability without checking that it exists.
If Lukas has no objections, I can include Lukas 2 patches part of v2.
>
>> Patch 1 removes CONFIG_PCIE_EDR, which was another knob in deciding
>> whether to request DPC control in _OSC.
>>
>> Patch 2 stops requiring pci_aer_available() to bind the DPC service,
>> since the DPC driver does not depend on MSI or on the AER driver.
>>
>> Patch 3 requests DPC control only together with AER control, as PCI
>> Firmware r3.3, sec 4.5.2.4, requires.
>>
>> Patch 4 binds the DPC service on host_bridge->native_dpc and logs a
>> message when the OS assumes DPC control that _OSC did not grant.
>>
>> Kuppuswamy Sathyanarayanan (4):
>> PCI/EDR: Remove CONFIG_PCIE_EDR
>> PCI/portdrv: Don't require AER to bind DPC service
>> PCI/ACPI: Request DPC control only together with AER control
>> PCI/portdrv: Bind DPC service based on host_bridge->native_dpc
>>
>> drivers/acpi/pci_root.c | 26 +++++++++++++++++++++++---
>> drivers/pci/pcie/Kconfig | 9 ---------
>> drivers/pci/pcie/Makefile | 5 ++++-
>> drivers/pci/pcie/dpc.c | 5 +++--
>> drivers/pci/pcie/portdrv.c | 7 +------
>> include/linux/pci-acpi.h | 4 ++--
>> 6 files changed, 33 insertions(+), 23 deletions(-)
>>
>>
>> base-commit: 4fe37866b0d92cdc45b62954a76489a9d9f8bd73
>> prerequisite-patch-id: e0eafcb39f15c38f3acfa601dfce07a6f0832ce1
>> prerequisite-patch-id: 83e8185612e785fad80790d4a0c20fa68ab12ce7
>> prerequisite-patch-id: 8e9e2b06f55249ff57c7d7f43918ee82f79d1450
>> prerequisite-patch-id: 78ad13a1c423c3ee50122237c4bd0fdedf2d1e00
>> prerequisite-patch-id: 0c4b9d46eea86635c431382aef2bf576a3bb5691
>> prerequisite-patch-id: 2d1a35309e750427352c6fe0d9bb62c4453c6252
>> prerequisite-patch-id: c1ed9c8ac6123e0a65ae0d7ba3183dd46477edf7
>> --
>> 2.43.0
>>
--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer
prev parent reply other threads:[~2026-10-13 16:34 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-07 16:58 [PATCH 0/4] PCI/DPC: Decide DPC ownership with host_bridge->native_dpc Kuppuswamy Sathyanarayanan
2026-10-07 16:58 ` [PATCH 1/4] PCI/EDR: Remove CONFIG_PCIE_EDR Kuppuswamy Sathyanarayanan
2026-10-07 16:58 ` [PATCH 2/4] PCI/portdrv: Don't require AER to bind DPC service Kuppuswamy Sathyanarayanan
2026-10-07 16:58 ` [PATCH 3/4] PCI/ACPI: Request DPC control only together with AER control Kuppuswamy Sathyanarayanan
2026-10-12 14:36 ` Rafael J. Wysocki (Intel)
2026-10-07 16:58 ` [PATCH 4/4] PCI/portdrv: Bind DPC service based on host_bridge->native_dpc Kuppuswamy Sathyanarayanan
2026-10-12 23:20 ` [PATCH 0/4] PCI/DPC: Decide DPC ownership with host_bridge->native_dpc Bjorn Helgaas
2026-10-13 16:34 ` Kuppuswamy Sathyanarayanan [this message]
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=4723da77-acb2-4063-93d5-bf1cefd6b6e5@linux.intel.com \
--to=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=bhelgaas@google.com \
--cc=helgaas@kernel.org \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lukas@wunner.de \
--cc=mahesh@linux.ibm.com \
--cc=oohall@gmail.com \
--cc=rafael@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.