diff mbox series

[3,15/23] ACPI: NUMA: Add setting of generic port locality attributes

Message ID 168088761007.1441063.16227274190441918773.stgit@djiang5-mobl3
State New
Headers show
Series cxl: Add support for QTG ID retrieval for CXL subsystem | expand

Commit Message

Dave Jiang April 7, 2023, 5:13 p.m. UTC
Add generic port support for the parsing of HMAT locality sub-table. The
attributes will be added to the third array member of the hmem_attrs in
order to not mix with the existing memory attributes it only provides the
locality attributes from initator to the generic port targets and is
missing the rest of the data from the actual memory device.

The actual memory attributes will be updated when a memory device is
attached and the locality information is calculated end to end.

Signed-off-by: Dave Jiang <dave.jiang@intel.com>
---
 drivers/acpi/numa/hmat.c |    7 +++++++
 1 file changed, 7 insertions(+)
diff mbox series

Patch

diff --git a/drivers/acpi/numa/hmat.c b/drivers/acpi/numa/hmat.c
index 5c53aa95d291..2596eb9eb419 100644
--- a/drivers/acpi/numa/hmat.c
+++ b/drivers/acpi/numa/hmat.c
@@ -60,6 +60,7 @@  struct target_cache {
 enum {
 	ACCESS_NODE_MEM = 0,
 	ACCESS_NODE_CPU,
+	ACCESS_NODE_GENPORT,
 	ACCESS_NODE_MAX,
 };
 
@@ -367,6 +368,12 @@  static __init int hmat_parse_locality(union acpi_subtable_headers *header,
 			if (mem_hier == ACPI_HMAT_MEMORY) {
 				target = find_mem_target(targs[targ]);
 				if (target && target->processor_pxm == inits[init]) {
+					if (*(target->device_handle)) {
+						hmat_update_target_access(target, type, value,
+									  ACCESS_NODE_GENPORT);
+						continue;
+					}
+
 					hmat_update_target_access(target, type, value,
 								  ACCESS_NODE_MEM);
 					/* If the node has a CPU, update access 1 */