|
|
@@ -448,7 +448,8 @@ struct acpi_table_pcct {
|
|
|
|
|
|
enum acpi_pcct_type {
|
|
|
ACPI_PCCT_TYPE_GENERIC_SUBSPACE = 0,
|
|
|
- ACPI_PCCT_TYPE_RESERVED = 1 /* 1 and greater are reserved */
|
|
|
+ ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE = 1,
|
|
|
+ ACPI_PCCT_TYPE_RESERVED = 2 /* 2 and greater are reserved */
|
|
|
};
|
|
|
|
|
|
/*
|
|
|
@@ -470,6 +471,28 @@ struct acpi_pcct_subspace {
|
|
|
u16 min_turnaround_time;
|
|
|
};
|
|
|
|
|
|
+/* 1: HW-reduced Communications Subspace (ACPI 5.1) */
|
|
|
+
|
|
|
+struct acpi_pcct_hw_reduced {
|
|
|
+ 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;
|
|
|
+};
|
|
|
+
|
|
|
+/* Values for doorbell flags above */
|
|
|
+
|
|
|
+#define ACPI_PCCT_INTERRUPT_POLARITY (1)
|
|
|
+#define ACPI_PCCT_INTERRUPT_MODE (1<<1)
|
|
|
+
|
|
|
/*
|
|
|
* PCC memory structures (not part of the ACPI table)
|
|
|
*/
|