| .. | .. |
|---|
| 3 | 3 | * |
|---|
| 4 | 4 | * Name: actbl2.h - ACPI Table Definitions (tables not in ACPI spec) |
|---|
| 5 | 5 | * |
|---|
| 6 | | - * Copyright (C) 2000 - 2018, Intel Corp. |
|---|
| 6 | + * Copyright (C) 2000 - 2020, Intel Corp. |
|---|
| 7 | 7 | * |
|---|
| 8 | 8 | *****************************************************************************/ |
|---|
| 9 | 9 | |
|---|
| .. | .. |
|---|
| 43 | 43 | #define ACPI_SIG_SBST "SBST" /* Smart Battery Specification Table */ |
|---|
| 44 | 44 | #define ACPI_SIG_SDEI "SDEI" /* Software Delegated Exception Interface Table */ |
|---|
| 45 | 45 | #define ACPI_SIG_SDEV "SDEV" /* Secure Devices table */ |
|---|
| 46 | +#define ACPI_SIG_NHLT "NHLT" /* Non-HDAudio Link Table */ |
|---|
| 46 | 47 | |
|---|
| 47 | 48 | /* |
|---|
| 48 | 49 | * All tables must be byte-packed to match the ACPI specification, since |
|---|
| .. | .. |
|---|
| 143 | 144 | */ |
|---|
| 144 | 145 | struct acpi_iort_its_group { |
|---|
| 145 | 146 | u32 its_count; |
|---|
| 146 | | - u32 identifiers[1]; /* GIC ITS identifier arrary */ |
|---|
| 147 | + u32 identifiers[1]; /* GIC ITS identifier array */ |
|---|
| 147 | 148 | }; |
|---|
| 148 | 149 | |
|---|
| 149 | 150 | struct acpi_iort_named_component { |
|---|
| .. | .. |
|---|
| 274 | 275 | /* Values for subtable Type above */ |
|---|
| 275 | 276 | |
|---|
| 276 | 277 | enum acpi_ivrs_type { |
|---|
| 277 | | - ACPI_IVRS_TYPE_HARDWARE = 0x10, |
|---|
| 278 | + ACPI_IVRS_TYPE_HARDWARE1 = 0x10, |
|---|
| 279 | + ACPI_IVRS_TYPE_HARDWARE2 = 0x11, |
|---|
| 278 | 280 | ACPI_IVRS_TYPE_MEMORY1 = 0x20, |
|---|
| 279 | 281 | ACPI_IVRS_TYPE_MEMORY2 = 0x21, |
|---|
| 280 | 282 | ACPI_IVRS_TYPE_MEMORY3 = 0x22 |
|---|
| .. | .. |
|---|
| 301 | 303 | |
|---|
| 302 | 304 | /* 0x10: I/O Virtualization Hardware Definition Block (IVHD) */ |
|---|
| 303 | 305 | |
|---|
| 304 | | -struct acpi_ivrs_hardware { |
|---|
| 306 | +struct acpi_ivrs_hardware_10 { |
|---|
| 305 | 307 | struct acpi_ivrs_header header; |
|---|
| 306 | 308 | u16 capability_offset; /* Offset for IOMMU control fields */ |
|---|
| 307 | 309 | u64 base_address; /* IOMMU control registers */ |
|---|
| 308 | 310 | u16 pci_segment_group; |
|---|
| 309 | 311 | 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; |
|---|
| 311 | 326 | }; |
|---|
| 312 | 327 | |
|---|
| 313 | 328 | /* Masks for Info field above */ |
|---|
| .. | .. |
|---|
| 623 | 638 | u8 reserved[3]; /* reserved - must be zero */ |
|---|
| 624 | 639 | }; |
|---|
| 625 | 640 | |
|---|
| 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) */ |
|---|
| 627 | 642 | |
|---|
| 628 | 643 | struct acpi_madt_generic_interrupt { |
|---|
| 629 | 644 | struct acpi_subtable_header header; |
|---|
| .. | .. |
|---|
| 641 | 656 | u64 gicr_base_address; |
|---|
| 642 | 657 | u64 arm_mpidr; |
|---|
| 643 | 658 | u8 efficiency_class; |
|---|
| 644 | | - u8 reserved2[3]; |
|---|
| 659 | + u8 reserved2[1]; |
|---|
| 660 | + u16 spe_interrupt; /* ACPI 6.3 */ |
|---|
| 645 | 661 | }; |
|---|
| 646 | 662 | |
|---|
| 647 | 663 | /* Masks for Flags field above */ |
|---|
| .. | .. |
|---|
| 1361 | 1377 | |
|---|
| 1362 | 1378 | #define ACPI_PDTT_RUNTIME_TRIGGER (1) |
|---|
| 1363 | 1379 | #define ACPI_PDTT_WAIT_COMPLETION (1<<1) |
|---|
| 1380 | +#define ACPI_PDTT_TRIGGER_ORDER (1<<2) |
|---|
| 1364 | 1381 | |
|---|
| 1365 | 1382 | /******************************************************************************* |
|---|
| 1366 | 1383 | * |
|---|