From: Dave Jiang <dave.jiang@intel.com>
To: linux-cxl@vger.kernel.org, linux-acpi@vger.kernel.org
Cc: dan.j.williams@intel.com, ira.weiny@intel.com,
vishal.l.verma@intel.com, alison.schofield@intel.com,
Jonathan.Cameron@huawei.com, dave@stgolabs.net,
rafael@kernel.org, gregkh@linuxfoundation.org
Subject: [PATCH v6 04/12] ACPI: HMAT / cxl: Add retrieval of generic port coordinates for both access classes
Date: Tue, 20 Feb 2024 16:12:33 -0700 [thread overview]
Message-ID: <20240220231402.3156281-5-dave.jiang@intel.com> (raw)
In-Reply-To: <20240220231402.3156281-1-dave.jiang@intel.com>
Update acpi_get_genport_coordinates() to allow retrieval of both access
classes of the 'struct access_coordinate' for a generic target. The update
will allow CXL code to compute access coordinates for both access class.
Cc: Rafael J. Wysocki <rafael@kernel.org>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
---
drivers/acpi/numa/hmat.c | 8 ++++++--
drivers/cxl/acpi.c | 8 +++++---
drivers/cxl/core/port.c | 2 +-
drivers/cxl/cxl.h | 2 +-
4 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/drivers/acpi/numa/hmat.c b/drivers/acpi/numa/hmat.c
index a1257888a6df..75e9aac43228 100644
--- a/drivers/acpi/numa/hmat.c
+++ b/drivers/acpi/numa/hmat.c
@@ -126,7 +126,8 @@ static struct memory_target *acpi_find_genport_target(u32 uid)
/**
* acpi_get_genport_coordinates - Retrieve the access coordinates for a generic port
* @uid: ACPI unique id
- * @coord: The access coordinates written back out for the generic port
+ * @coord: The access coordinates written back out for the generic port.
+ * Expect 2 levels array.
*
* Return: 0 on success. Errno on failure.
*
@@ -142,7 +143,10 @@ int acpi_get_genport_coordinates(u32 uid,
if (!target)
return -ENOENT;
- *coord = target->coord[NODE_ACCESS_CLASS_GENPORT_SINK_LOCAL];
+ coord[ACCESS_COORDINATE_LOCAL] =
+ target->coord[NODE_ACCESS_CLASS_GENPORT_SINK_LOCAL];
+ coord[ACCESS_COORDINATE_CPU] =
+ target->coord[NODE_ACCESS_CLASS_GENPORT_SINK_CPU];
return 0;
}
diff --git a/drivers/cxl/acpi.c b/drivers/cxl/acpi.c
index 53d2dff0c7a3..c4e270864215 100644
--- a/drivers/cxl/acpi.c
+++ b/drivers/cxl/acpi.c
@@ -529,13 +529,15 @@ static int get_genport_coordinates(struct device *dev, struct cxl_dport *dport)
if (kstrtou32(acpi_device_uid(hb), 0, &uid))
return -EINVAL;
- rc = acpi_get_genport_coordinates(uid, &dport->hb_coord);
+ rc = acpi_get_genport_coordinates(uid, dport->hb_coord);
if (rc < 0)
return rc;
/* Adjust back to picoseconds from nanoseconds */
- dport->hb_coord.read_latency *= 1000;
- dport->hb_coord.write_latency *= 1000;
+ for (int i = 0; i < ACCESS_COORDINATE_MAX; i++) {
+ dport->hb_coord[i].read_latency *= 1000;
+ dport->hb_coord[i].write_latency *= 1000;
+ }
return 0;
}
diff --git a/drivers/cxl/core/port.c b/drivers/cxl/core/port.c
index e59d9d37aa65..612bf7e1e847 100644
--- a/drivers/cxl/core/port.c
+++ b/drivers/cxl/core/port.c
@@ -2152,7 +2152,7 @@ int cxl_endpoint_get_perf_coordinates(struct cxl_port *port,
}
/* Augment with the generic port (host bridge) perf data */
- combine_coordinates(&c, &dport->hb_coord);
+ combine_coordinates(&c, &dport->hb_coord[ACCESS_COORDINATE_LOCAL]);
/* Get the calculated PCI paths bandwidth */
pdev = to_pci_dev(port->uport_dev->parent);
diff --git a/drivers/cxl/cxl.h b/drivers/cxl/cxl.h
index 003feebab79b..fe7448f2745e 100644
--- a/drivers/cxl/cxl.h
+++ b/drivers/cxl/cxl.h
@@ -671,7 +671,7 @@ struct cxl_dport {
struct cxl_port *port;
struct cxl_regs regs;
struct access_coordinate sw_coord;
- struct access_coordinate hb_coord;
+ struct access_coordinate hb_coord[ACCESS_COORDINATE_MAX];
long link_latency;
};
--
2.43.0
next prev parent reply other threads:[~2024-02-20 23:14 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-20 23:12 [PATCH v6 0/12] cxl: Add support to report region access coordinates to numa nodes Dave Jiang
2024-02-20 23:12 ` [PATCH v6 01/12] ACPI: HMAT: Remove register of memory node for generic target Dave Jiang
2024-02-20 23:12 ` [PATCH v6 02/12] base/node / ACPI: Enumerate node access class for 'struct access_coordinate' Dave Jiang
2024-03-07 21:02 ` Greg KH
2024-02-20 23:12 ` [PATCH v6 03/12] ACPI: HMAT: Introduce 2 levels of generic port access class Dave Jiang
2024-02-27 17:23 ` Jonathan Cameron
2024-02-20 23:12 ` Dave Jiang [this message]
2024-02-20 23:12 ` [PATCH v6 05/12] cxl: Split out combine_coordinates() for common shared usage Dave Jiang
2024-02-27 17:25 ` Jonathan Cameron
2024-02-20 23:12 ` [PATCH v6 06/12] cxl: Split out host bridge access coordinates Dave Jiang
2024-02-20 23:12 ` [PATCH v6 07/12] cxl: Move QoS class to be calculated from the nearest CPU Dave Jiang
2024-02-20 23:12 ` [PATCH v6 08/12] cxl: Set cxlmd->endpoint before adding port device Dave Jiang
2024-02-20 23:12 ` [PATCH v6 09/12] cxl/region: Calculate performance data for a region Dave Jiang
2024-02-20 23:12 ` [PATCH v6 10/12] cxl/region: Add sysfs attribute for locality attributes of CXL regions Dave Jiang
2024-03-06 14:48 ` Jonathan Cameron
2024-02-20 23:12 ` [PATCH v6 11/12] cxl/region: Add memory hotplug notifier for cxl region Dave Jiang
2024-03-06 14:53 ` Jonathan Cameron
2024-03-07 23:51 ` Dave Jiang
2024-03-08 0:01 ` Dan Williams
2024-02-20 23:12 ` [PATCH v6 12/12] cxl/region: Deal with numa nodes not enumarated by SRAT Dave Jiang
2024-03-06 14:55 ` [PATCH v6 0/12] cxl: Add support to report region access coordinates to numa nodes Jonathan Cameron
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=20240220231402.3156281-5-dave.jiang@intel.com \
--to=dave.jiang@intel.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=alison.schofield@intel.com \
--cc=dan.j.williams@intel.com \
--cc=dave@stgolabs.net \
--cc=gregkh@linuxfoundation.org \
--cc=ira.weiny@intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-cxl@vger.kernel.org \
--cc=rafael@kernel.org \
--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