hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/include/acpi/actbl2.h
....@@ -3,7 +3,7 @@
33 *
44 * Name: actbl2.h - ACPI Table Definitions (tables not in ACPI spec)
55 *
6
- * Copyright (C) 2000 - 2018, Intel Corp.
6
+ * Copyright (C) 2000 - 2020, Intel Corp.
77 *
88 *****************************************************************************/
99
....@@ -43,6 +43,7 @@
4343 #define ACPI_SIG_SBST "SBST" /* Smart Battery Specification Table */
4444 #define ACPI_SIG_SDEI "SDEI" /* Software Delegated Exception Interface Table */
4545 #define ACPI_SIG_SDEV "SDEV" /* Secure Devices table */
46
+#define ACPI_SIG_NHLT "NHLT" /* Non-HDAudio Link Table */
4647
4748 /*
4849 * All tables must be byte-packed to match the ACPI specification, since
....@@ -143,7 +144,7 @@
143144 */
144145 struct acpi_iort_its_group {
145146 u32 its_count;
146
- u32 identifiers[1]; /* GIC ITS identifier arrary */
147
+ u32 identifiers[1]; /* GIC ITS identifier array */
147148 };
148149
149150 struct acpi_iort_named_component {
....@@ -274,7 +275,8 @@
274275 /* Values for subtable Type above */
275276
276277 enum acpi_ivrs_type {
277
- ACPI_IVRS_TYPE_HARDWARE = 0x10,
278
+ ACPI_IVRS_TYPE_HARDWARE1 = 0x10,
279
+ ACPI_IVRS_TYPE_HARDWARE2 = 0x11,
278280 ACPI_IVRS_TYPE_MEMORY1 = 0x20,
279281 ACPI_IVRS_TYPE_MEMORY2 = 0x21,
280282 ACPI_IVRS_TYPE_MEMORY3 = 0x22
....@@ -301,13 +303,26 @@
301303
302304 /* 0x10: I/O Virtualization Hardware Definition Block (IVHD) */
303305
304
-struct acpi_ivrs_hardware {
306
+struct acpi_ivrs_hardware_10 {
305307 struct acpi_ivrs_header header;
306308 u16 capability_offset; /* Offset for IOMMU control fields */
307309 u64 base_address; /* IOMMU control registers */
308310 u16 pci_segment_group;
309311 u16 info; /* MSI number and unit ID */
310
- u32 reserved;
312
+ u32 feature_reporting;
313
+};
314
+
315
+/* 0x11: I/O Virtualization Hardware Definition Block (IVHD) */
316
+
317
+struct acpi_ivrs_hardware_11 {
318
+ struct acpi_ivrs_header header;
319
+ u16 capability_offset; /* Offset for IOMMU control fields */
320
+ u64 base_address; /* IOMMU control registers */
321
+ u16 pci_segment_group;
322
+ u16 info; /* MSI number and unit ID */
323
+ u32 attributes;
324
+ u64 efr_register_image;
325
+ u64 reserved;
311326 };
312327
313328 /* Masks for Info field above */
....@@ -623,7 +638,7 @@
623638 u8 reserved[3]; /* reserved - must be zero */
624639 };
625640
626
-/* 11: Generic Interrupt (ACPI 5.0 + ACPI 6.0 changes) */
641
+/* 11: Generic interrupt - GICC (ACPI 5.0 + ACPI 6.0 + ACPI 6.3 changes) */
627642
628643 struct acpi_madt_generic_interrupt {
629644 struct acpi_subtable_header header;
....@@ -641,7 +656,8 @@
641656 u64 gicr_base_address;
642657 u64 arm_mpidr;
643658 u8 efficiency_class;
644
- u8 reserved2[3];
659
+ u8 reserved2[1];
660
+ u16 spe_interrupt; /* ACPI 6.3 */
645661 };
646662
647663 /* Masks for Flags field above */
....@@ -1361,6 +1377,7 @@
13611377
13621378 #define ACPI_PDTT_RUNTIME_TRIGGER (1)
13631379 #define ACPI_PDTT_WAIT_COMPLETION (1<<1)
1380
+#define ACPI_PDTT_TRIGGER_ORDER (1<<2)
13641381
13651382 /*******************************************************************************
13661383 *