|
@@ -467,7 +467,7 @@ struct acpi_mpst_shared {
|
|
|
/*******************************************************************************
|
|
|
*
|
|
|
* PCCT - Platform Communications Channel Table (ACPI 5.0)
|
|
|
- * Version 1
|
|
|
+ * Version 2 (ACPI 6.2)
|
|
|
*
|
|
|
******************************************************************************/
|
|
|
|
|
@@ -487,7 +487,9 @@ enum acpi_pcct_type {
|
|
|
ACPI_PCCT_TYPE_GENERIC_SUBSPACE = 0,
|
|
|
ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE = 1,
|
|
|
ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE_TYPE2 = 2, /* ACPI 6.1 */
|
|
|
- ACPI_PCCT_TYPE_RESERVED = 3 /* 3 and greater are reserved */
|
|
|
+ ACPI_PCCT_TYPE_EXT_PCC_MASTER_SUBSPACE = 3, /* ACPI 6.2 */
|
|
|
+ ACPI_PCCT_TYPE_EXT_PCC_SLAVE_SUBSPACE = 4, /* ACPI 6.2 */
|
|
|
+ ACPI_PCCT_TYPE_RESERVED = 5 /* 5 and greater are reserved */
|
|
|
};
|
|
|
|
|
|
/*
|
|
@@ -513,7 +515,7 @@ struct acpi_pcct_subspace {
|
|
|
|
|
|
struct acpi_pcct_hw_reduced {
|
|
|
struct acpi_subtable_header header;
|
|
|
- u32 doorbell_interrupt;
|
|
|
+ u32 platform_interrupt;
|
|
|
u8 flags;
|
|
|
u8 reserved;
|
|
|
u64 base_address;
|
|
@@ -530,7 +532,7 @@ struct acpi_pcct_hw_reduced {
|
|
|
|
|
|
struct acpi_pcct_hw_reduced_type2 {
|
|
|
struct acpi_subtable_header header;
|
|
|
- u32 doorbell_interrupt;
|
|
|
+ u32 platform_interrupt;
|
|
|
u8 flags;
|
|
|
u8 reserved;
|
|
|
u64 base_address;
|
|
@@ -541,11 +543,67 @@ struct acpi_pcct_hw_reduced_type2 {
|
|
|
u32 latency;
|
|
|
u32 max_access_rate;
|
|
|
u16 min_turnaround_time;
|
|
|
- struct acpi_generic_address doorbell_ack_register;
|
|
|
+ struct acpi_generic_address platform_ack_register;
|
|
|
u64 ack_preserve_mask;
|
|
|
u64 ack_write_mask;
|
|
|
};
|
|
|
|
|
|
+/* 3: Extended PCC Master Subspace Type 3 (ACPI 6.2) */
|
|
|
+
|
|
|
+struct acpi_pcct_ext_pcc_master {
|
|
|
+ struct acpi_subtable_header header;
|
|
|
+ u32 platform_interrupt;
|
|
|
+ u8 flags;
|
|
|
+ u8 reserved1;
|
|
|
+ u64 base_address;
|
|
|
+ u32 length;
|
|
|
+ struct acpi_generic_address doorbell_register;
|
|
|
+ u64 preserve_mask;
|
|
|
+ u64 write_mask;
|
|
|
+ u32 latency;
|
|
|
+ u32 max_access_rate;
|
|
|
+ u32 min_turnaround_time;
|
|
|
+ struct acpi_generic_address platform_ack_register;
|
|
|
+ u64 ack_preserve_mask;
|
|
|
+ u64 ack_set_mask;
|
|
|
+ u64 reserved2;
|
|
|
+ struct acpi_generic_address cmd_complete_register;
|
|
|
+ u64 cmd_complete_mask;
|
|
|
+ struct acpi_generic_address cmd_update_register;
|
|
|
+ u64 cmd_update_preserve_mask;
|
|
|
+ u64 cmd_update_set_mask;
|
|
|
+ struct acpi_generic_address error_status_register;
|
|
|
+ u64 error_status_mask;
|
|
|
+};
|
|
|
+
|
|
|
+/* 4: Extended PCC Slave Subspace Type 4 (ACPI 6.2) */
|
|
|
+
|
|
|
+struct acpi_pcct_ext_pcc_slave {
|
|
|
+ struct acpi_subtable_header header;
|
|
|
+ u32 platform_interrupt;
|
|
|
+ u8 flags;
|
|
|
+ u8 reserved1;
|
|
|
+ u64 base_address;
|
|
|
+ u32 length;
|
|
|
+ struct acpi_generic_address doorbell_register;
|
|
|
+ u64 preserve_mask;
|
|
|
+ u64 write_mask;
|
|
|
+ u32 latency;
|
|
|
+ u32 max_access_rate;
|
|
|
+ u32 min_turnaround_time;
|
|
|
+ struct acpi_generic_address platform_ack_register;
|
|
|
+ u64 ack_preserve_mask;
|
|
|
+ u64 ack_set_mask;
|
|
|
+ u64 reserved2;
|
|
|
+ struct acpi_generic_address cmd_complete_register;
|
|
|
+ u64 cmd_complete_mask;
|
|
|
+ struct acpi_generic_address cmd_update_register;
|
|
|
+ u64 cmd_update_preserve_mask;
|
|
|
+ u64 cmd_update_set_mask;
|
|
|
+ struct acpi_generic_address error_status_register;
|
|
|
+ u64 error_status_mask;
|
|
|
+};
|
|
|
+
|
|
|
/* Values for doorbell flags above */
|
|
|
|
|
|
#define ACPI_PCCT_INTERRUPT_POLARITY (1)
|
|
@@ -563,6 +621,15 @@ struct acpi_pcct_shared_memory {
|
|
|
u16 status;
|
|
|
};
|
|
|
|
|
|
+/* Extended PCC Subspace Shared Memory Region (ACPI 6.2) */
|
|
|
+
|
|
|
+struct acpi_pcct_ext_pcc_shared_memory {
|
|
|
+ u32 signature;
|
|
|
+ u32 flags;
|
|
|
+ u32 length;
|
|
|
+ u32 command;
|
|
|
+};
|
|
|
+
|
|
|
/*******************************************************************************
|
|
|
*
|
|
|
* PMTT - Platform Memory Topology Table (ACPI 5.0)
|