|
@@ -481,7 +481,8 @@ struct acpi_table_pcct {
|
|
|
enum acpi_pcct_type {
|
|
|
ACPI_PCCT_TYPE_GENERIC_SUBSPACE = 0,
|
|
|
ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE = 1,
|
|
|
- ACPI_PCCT_TYPE_RESERVED = 2 /* 2 and greater are reserved */
|
|
|
+ ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE_TYPE2 = 2, /* ACPI 6.1 */
|
|
|
+ ACPI_PCCT_TYPE_RESERVED = 3 /* 3 and greater are reserved */
|
|
|
};
|
|
|
|
|
|
/*
|
|
@@ -520,6 +521,26 @@ struct acpi_pcct_hw_reduced {
|
|
|
u16 min_turnaround_time;
|
|
|
};
|
|
|
|
|
|
+/* 2: HW-reduced Communications Subspace Type 2 (ACPI 6.1) */
|
|
|
+
|
|
|
+struct acpi_pcct_hw_reduced_type2 {
|
|
|
+ struct acpi_subtable_header header;
|
|
|
+ u32 doorbell_interrupt;
|
|
|
+ u8 flags;
|
|
|
+ u8 reserved;
|
|
|
+ u64 base_address;
|
|
|
+ u64 length;
|
|
|
+ struct acpi_generic_address doorbell_register;
|
|
|
+ u64 preserve_mask;
|
|
|
+ u64 write_mask;
|
|
|
+ u32 latency;
|
|
|
+ u32 max_access_rate;
|
|
|
+ u16 min_turnaround_time;
|
|
|
+ struct acpi_generic_address doorbell_ack_register;
|
|
|
+ u64 ack_preserve_mask;
|
|
|
+ u64 ack_write_mask;
|
|
|
+};
|
|
|
+
|
|
|
/* Values for doorbell flags above */
|
|
|
|
|
|
#define ACPI_PCCT_INTERRUPT_POLARITY (1)
|