[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250306164448.3354845-6-rrichter@amd.com>
Date: Thu, 6 Mar 2025 17:44:39 +0100
From: Robert Richter <rrichter@....com>
To: Alison Schofield <alison.schofield@...el.com>, Vishal Verma
<vishal.l.verma@...el.com>, Ira Weiny <ira.weiny@...el.com>, Dan Williams
<dan.j.williams@...el.com>, Jonathan Cameron <Jonathan.Cameron@...wei.com>,
Dave Jiang <dave.jiang@...el.com>, Davidlohr Bueso <dave@...olabs.net>
CC: <linux-cxl@...r.kernel.org>, <linux-kernel@...r.kernel.org>, Gregory Price
<gourry@...rry.net>, "Fabio M. De Francesco"
<fabio.m.de.francesco@...ux.intel.com>, Terry Bowman <terry.bowman@....com>,
Robert Richter <rrichter@....com>
Subject: [PATCH v4 05/14] cxl/region: Rename function to cxl_find_decoder_early()
Current function cxl_region_find_decoder() is used to find a port's
decoder during region setup. The decoder is later used to attach the
port to a region.
Rename function to cxl_find_decoder_early() to emphasize its use only
during region setup in the early pre-init setup stage when an endpoint
is not yet attached to a region (cxl_region_attach()). Once a port is
attached to a region, the region reference can be used to lookup a
region's port and decoder configuration (see struct cxl_region_ref).
Signed-off-by: Robert Richter <rrichter@....com>
Reviewed-by: Gregory Price <gourry@...rry.net>
Tested-by: Gregory Price <gourry@...rry.net>
---
drivers/cxl/core/region.c | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c
index 4f79cc17c9c8..e40ae0fefddc 100644
--- a/drivers/cxl/core/region.c
+++ b/drivers/cxl/core/region.c
@@ -865,10 +865,18 @@ static int match_auto_decoder(struct device *dev, const void *data)
return 0;
}
+/*
+ * Only use cxl_find_decoder_early() during region setup in the early
+ * pre-init setup stage when an endpoint is not yet attached to a
+ * region (cxl_region_attach()). Once a port is attached to a region,
+ * the region reference can be used to lookup a region's port and
+ * decoder configuration (see struct cxl_region_ref).
+*/
+
static struct cxl_decoder *
-cxl_region_find_decoder(struct cxl_port *port,
- struct cxl_endpoint_decoder *cxled,
- struct cxl_region *cxlr)
+cxl_find_decoder_early(struct cxl_port *port,
+ struct cxl_endpoint_decoder *cxled,
+ struct cxl_region *cxlr)
{
struct device *dev;
@@ -932,7 +940,7 @@ alloc_region_ref(struct cxl_port *port, struct cxl_region *cxlr,
if (test_bit(CXL_REGION_F_AUTO, &cxlr->flags)) {
struct cxl_decoder *cxld;
- cxld = cxl_region_find_decoder(port, cxled, cxlr);
+ cxld = cxl_find_decoder_early(port, cxled, cxlr);
if (auto_order_ok(port, iter->region, cxld))
continue;
}
@@ -1020,7 +1028,7 @@ static int cxl_rr_alloc_decoder(struct cxl_port *port, struct cxl_region *cxlr,
{
struct cxl_decoder *cxld;
- cxld = cxl_region_find_decoder(port, cxled, cxlr);
+ cxld = cxl_find_decoder_early(port, cxled, cxlr);
if (!cxld) {
dev_dbg(&cxlr->dev, "%s: no decoder available\n",
dev_name(&port->dev));
--
2.39.5
Powered by blists - more mailing lists