[PATCH 1/3] lib: acpi: add support for MPST

Alex Hung alex.hung at canonical.com
Fri Jul 29 12:43:29 UTC 2016


Signed-off-by: Alex Hung <alex.hung at canonical.com>
---
 src/lib/include/fwts_acpi.h | 49 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/src/lib/include/fwts_acpi.h b/src/lib/include/fwts_acpi.h
index b675f4f..3ca3a5c 100644
--- a/src/lib/include/fwts_acpi.h
+++ b/src/lib/include/fwts_acpi.h
@@ -991,6 +991,55 @@ typedef struct {
 } __attribute__ ((packed)) fwts_acpi_table_rasf;
 
 /*
+ * ACPI MPST (Memory Power State Table), 5.2.21
+ */
+typedef struct {
+	fwts_acpi_table_header	header;
+	uint8_t		channel_id;
+	uint8_t		reserved[3];
+} __attribute__ ((packed)) fwts_acpi_table_mpst;
+
+typedef struct {
+	uint8_t		value;
+	uint8_t 	info_index;
+} __attribute__ ((packed)) fwts_acpi_table_mpst_power_state;
+
+typedef struct {
+	uint16_t	id;
+} __attribute__ ((packed)) fwts_acpi_table_mpst_component;
+
+typedef struct {
+	uint8_t		flags;
+	uint8_t		reserved;
+	uint16_t	node_id;
+	uint32_t	length;
+	uint64_t	range_address;
+	uint64_t	range_ength;
+	uint32_t	num_states;
+	uint32_t	num_components;
+} __attribute__ ((packed)) fwts_acpi_table_mpst_power_node;
+
+typedef struct {
+	uint16_t	count;
+	uint16_t	reserved;
+} __attribute__ ((packed)) fwts_acpi_table_mpst_power_node_list;
+
+typedef struct {
+	uint8_t		structure_id;
+	uint8_t		flags;
+	uint16_t	reserved1;
+	uint32_t	average_power;
+	uint32_t	power_saving;
+	uint64_t	exit_latency;
+	uint64_t	reserved2;
+} __attribute__ ((packed)) fwts_acpi_table_mpst_power_char;
+
+typedef struct {
+	uint16_t	count;
+	uint16_t	reserved;
+} __attribute__ ((packed)) fwts_acpi_table_mpst_power_char_list;
+
+/*
  * ACPI PCCT (Platform Communications Channel Table), 14.1
  */
 typedef struct {
-- 
2.7.4




More information about the fwts-devel mailing list