ACPICA: Add the CFMWS structure definition to the CEDT table
authorAlison Schofield <alison.schofield@intel.com>
Fri, 4 Jun 2021 21:26:05 +0000 (14:26 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 7 Jun 2021 12:04:43 +0000 (14:04 +0200)
ACPICA commit 699fc72e56936bebf3b9ba39b6e91bd957b44452

The CXL Fixed Memory Window Structure (CFMWS) is added to the
CXL Early Discovery Table (CEDT). This new structure is defined
in an ECN to the CXL 2.0 specification.

https://www.computeexpresslink.org/spec-landing

Link: https://github.com/acpica/acpica/commit/699fc72e
Signed-off-by: Alison Schofield <alison.schofield@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
include/acpi/actbl1.h

index 8532f56..ef2872d 100644 (file)
@@ -327,7 +327,8 @@ struct acpi_cedt_header {
 
 enum acpi_cedt_type {
        ACPI_CEDT_TYPE_CHBS = 0,
-       ACPI_CEDT_TYPE_RESERVED = 1
+       ACPI_CEDT_TYPE_CFMWS = 1,
+       ACPI_CEDT_TYPE_RESERVED = 2,
 };
 
 /* Values for version field above */
@@ -355,6 +356,34 @@ struct acpi_cedt_chbs {
        u64 length;
 };
 
+/* 1: CXL Fixed Memory Window Structure */
+
+struct acpi_cedt_cfmws {
+       struct acpi_cedt_header header;
+       u32 reserved1;
+       u64 base_hpa;
+       u64 window_size;
+       u8 interleave_ways;
+       u8 interleave_arithmetic;
+       u16 reserved2;
+       u32 granularity;
+       u16 restrictions;
+       u16 qtg_id;
+       u32 interleave_targets[];
+};
+
+/* Values for Interleave Arithmetic field above */
+
+#define ACPI_CEDT_CFMWS_ARITHMETIC_MODULO      (0)
+
+/* Values for Restrictions field above */
+
+#define ACPI_CEDT_CFMWS_RESTRICT_TYPE2         (1)
+#define ACPI_CEDT_CFMWS_RESTRICT_TYPE3         (1<<1)
+#define ACPI_CEDT_CFMWS_RESTRICT_VOLATILE      (1<<2)
+#define ACPI_CEDT_CFMWS_RESTRICT_PMEM          (1<<3)
+#define ACPI_CEDT_CFMWS_RESTRICT_FIXED         (1<<4)
+
 /*******************************************************************************
  *
  * CPEP - Corrected Platform Error Polling table (ACPI 4.0)