From: Alison Schofield <alison.schofield@intel.com>
To: Vishal Aslot <vaslot@nvidia.com>
Cc: Davidlohr Bueso <dave@stgolabs.net>,
Jonathan Cameron <jonathan.cameron@huawei.com>,
Dave Jiang <dave.jiang@intel.com>,
"Vishal Verma" <vishal.l.verma@intel.com>,
Ira Weiny <ira.weiny@intel.com>,
"Dan Williams" <dan.j.williams@intel.com>,
Li Ming <ming.li@zohomail.com>,
"open list:COMPUTE EXPRESS LINK (CXL)"
<linux-cxl@vger.kernel.org>,
open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v1 2/2] cxl: Allow zero sized HDM decoders
Date: Sun, 19 Oct 2025 23:46:36 -0700 [thread overview]
Message-ID: <aPXazKH-FYS5K3qq@aschofie-mobl2.lan> (raw)
In-Reply-To: <20251015024019.1189713-3-vaslot@nvidia.com>
On Tue, Oct 14, 2025 at 07:40:06PM -0700, Vishal Aslot wrote:
> CXL spec permits committing zero sized decoders.
> Linux currently considers them as an error.
>
> Zero-sized decoders are helpful when the BIOS
> is committing them. Often BIOS will also lock
> them to prevent them being changed due to the
> TSP requirement. For example, if the type 3
> device is part of a TCB.
>
> The host bridge, switch, and end-point decoders
> can all be committed with zero-size. If they are
> locked along the VH, it is often to prevent
> hotplugging of a new device that could not be
> attested post boot and cannot be included in
> TCB.
>
> The caller leaves the decoder allocated but does
> not add it. It simply continues to the next decoder.
Please write out acronyms TSP and TCB ?
Commit log wraps at 70.
I tried out the cxl-test patch of this. And came up with the same
question that DaveJ responded here. Why aren't we adding these
decoders to the topology? Are these guaranteed to always be lesser
id's than than the decoders for any BIOS defined regions, or is
the driver expected to handle non contiguous decoder sets?
It's an accounting task, whether they are in the topology or not,
but guessing in the topology may make that accounting easier.
>
> Signed-off-by: Vishal Aslot <vaslot@nvidia.com>
> ---
> drivers/cxl/core/hdm.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/cxl/core/hdm.c b/drivers/cxl/core/hdm.c
> index d3a094ca01ad..1c036a485723 100644
> --- a/drivers/cxl/core/hdm.c
> +++ b/drivers/cxl/core/hdm.c
> @@ -1036,13 +1036,14 @@ static int init_hdm_decoder(struct cxl_port *port, struct cxl_decoder *cxld,
> return -ENXIO;
> }
>
> + port->commit_end = cxld->id;
> +
> if (size == 0) {
> - dev_warn(&port->dev,
> + dev_dbg(&port->dev,
> "decoder%d.%d: Committed with zero size\n",
> port->id, cxld->id);
> - return -ENXIO;
> + return -ENOSPC;
> }
> - port->commit_end = cxld->id;
> } else {
> if (cxled) {
> struct cxl_memdev *cxlmd = cxled_to_memdev(cxled);
> @@ -1198,6 +1199,8 @@ static int devm_cxl_enumerate_decoders(struct cxl_hdm *cxlhdm,
>
> rc = init_hdm_decoder(port, cxld, hdm, i, &dpa_base, info);
> if (rc) {
> + if (rc == -ENOSPC)
> + continue;
This needs to be in the mock_devm_cxl_enumerate_decoders() ....
> dev_warn(&port->dev,
> "Failed to initialize decoder%d.%d\n",
> port->id, i);
> --
> 2.43.0
>
prev parent reply other threads:[~2025-10-20 6:46 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-15 2:40 [PATCH v1 0/2] Support zero-sized decoders Vishal Aslot
2025-10-15 2:40 ` [PATCH v1 1/2] cxl_test: enable zero sized decoders under hb0 Vishal Aslot
2025-10-15 15:38 ` Dave Jiang
2025-10-20 7:09 ` Alison Schofield
2025-10-20 14:19 ` Gregory Price
2025-10-20 19:30 ` Alison Schofield
2025-10-20 21:22 ` Dave Jiang
2025-10-21 14:03 ` Gregory Price
2026-02-11 15:04 ` Gregory Price
2026-02-11 15:59 ` Gregory Price
2026-05-08 4:00 ` Richard Cheng
2025-10-15 2:40 ` [PATCH v1 2/2] cxl: Allow zero sized HDM decoders Vishal Aslot
2025-10-15 16:38 ` Dave Jiang
2025-10-20 6:46 ` Alison Schofield [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=aPXazKH-FYS5K3qq@aschofie-mobl2.lan \
--to=alison.schofield@intel.com \
--cc=dan.j.williams@intel.com \
--cc=dave.jiang@intel.com \
--cc=dave@stgolabs.net \
--cc=ira.weiny@intel.com \
--cc=jonathan.cameron@huawei.com \
--cc=linux-cxl@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ming.li@zohomail.com \
--cc=vaslot@nvidia.com \
--cc=vishal.l.verma@intel.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®