From: Alison Schofield <alison.schofield@intel.com>
To: Chen Pei <cp0613@linux.alibaba.com>
Cc: <dave.jiang@intel.com>, <djbw@kernel.org>, <icheng@nvidia.com>,
<bhelgaas@google.com>, <rafael@kernel.org>, <lenb@kernel.org>,
<guoren@kernel.org>, <linux-pci@vger.kernel.org>,
<linux-cxl@vger.kernel.org>, <linux-acpi@vger.kernel.org>,
<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 0/2] ACPI/PCI/CXL: Enforce _DEP ordering between ACPI0016 and ACPI0017
Date: Tue, 26 May 2026 18:14:59 -0700 [thread overview]
Message-ID: <ahZFk-nWSQr18OHk@aschofie-mobl2.lan> (raw)
In-Reply-To: <20260526025118.38935-1-cp0613@linux.alibaba.com>
On Tue, May 26, 2026 at 10:51:16AM +0800, Chen Pei wrote:
> On platforms whose ACPI namespace exposes a CXL host bridge (ACPI0016)
> with an ACPI0017 CXL root device declaring _DEP on the host bridge,
> cxl_acpi can probe before acpi_pci_root has attached the PCI root.
> acpi_pci_find_root() then returns NULL, decoder targets read as 0,
> and no port/endpoint device shows up under /sys/bus/cxl/devices/.
>
> The root cause is twofold:
>
> 1. acpi_pci_root_add() never calls acpi_dev_clear_dependencies(),
> so _DEP suppliers downstream of a PCI root are never released.
>
> 2. ACPI0016 is not on acpi_honor_dep_ids[], so even when ACPI0017
> declares _DEP on it, acpi_dev_ready_for_enumeration() bypasses
> the dep_unmet check and lets cxl_acpi probe early.
>
> On x86 the bug is usually masked by link order (acpi_pci_root is
> built in and probed before cxl_acpi). On architectures like RISC-V
> that ordering is not guaranteed, so the standard ACPI _DEP mechanism
> must actually work.
>
> This series fixes both sides and the two patches must be applied
> together; applying only patch 2 would prevent cxl_acpi from ever
> probing on ACPI0016 systems, because the supplier would never clear
> the dependency.
>
> Patch 1 makes acpi_pci_root_add() clear _DEP on the supplier once
> the PCI root bus has been added.
> Patch 2 adds ACPI0016 to acpi_honor_dep_ids[] so the dependency
> declared by ACPI0017 is enforced.
>
> The approach in this series follows the discussion of an earlier
> posting:
> https://lore.kernel.org/linux-cxl/20260514023238.49984-1-cp0613@linux.alibaba.com/
>
> Chen Pei (2):
> ACPI: PCI: clear _DEP dependencies after PCI root bridge attach
> ACPI: scan: honor _DEP for ACPI0016 PCI/CXL host bridge
For the set:
Tested-by: Alison Schofield <alison.schofield@intel.com>
Reviewed-by: Alison Schofield <alison.schofield@intel.com>
next prev parent reply other threads:[~2026-05-27 1:15 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-26 2:51 [PATCH 0/2] ACPI/PCI/CXL: Enforce _DEP ordering between ACPI0016 and ACPI0017 Chen Pei
2026-05-26 2:51 ` [PATCH 1/2] ACPI: PCI: Clear _DEP dependencies after PCI root bridge attach Chen Pei
2026-05-26 3:12 ` sashiko-bot
2026-05-26 9:26 ` [PATCH] cxl/acpi: Defer probe when ACPI0016 PCI root bridge is not ready Chen Pei
2026-05-26 2:51 ` [PATCH 2/2] ACPI: scan: Honor _DEP for ACPI0016 PCI/CXL host bridge Chen Pei
2026-05-27 11:38 ` Rafael J. Wysocki
2026-05-26 15:01 ` [PATCH 0/2] ACPI/PCI/CXL: Enforce _DEP ordering between ACPI0016 and ACPI0017 Dave Jiang
2026-05-27 1:14 ` Alison Schofield [this message]
2026-06-01 17:27 ` Rafael J. Wysocki
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=ahZFk-nWSQr18OHk@aschofie-mobl2.lan \
--to=alison.schofield@intel.com \
--cc=bhelgaas@google.com \
--cc=cp0613@linux.alibaba.com \
--cc=dave.jiang@intel.com \
--cc=djbw@kernel.org \
--cc=guoren@kernel.org \
--cc=icheng@nvidia.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-cxl@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--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.