Merge ACPICA material for 5.19-rc1: - Add support for the Windows 11 _OSI string (Mario Limonciello) - Add the CFMWS subtable to the CEDT table (Lawrence Hileman). - iASL: NHLT: Treat Terminator as specific_config (Piotr Maziarz). - iASL: NHLT: Fix parsing undocumented bytes at the end of Endpoint Descriptor (Piotr Maziarz). - iASL: NHLT: Rename linux specific strucures to device_info (Piotr Maziarz). - Add new ACPI 6.4 semantics to Load() and LoadTable() (Bob Moore). - Clean up double word in comment (Tom Rix). - Update copyright notices to the year 2022 (Bob Moore). - Remove some tabs and // comments - automated cleanup (Bob Moore). - Replace zero-length array with flexible-array member (Gustavo A. R. Silva). - Interpreter: Add units to time variable names (Paul Menzel). - Add support for ARM Performance Monitoring Unit Table (Besar Wicaksono). - Inform users about ACPI spec violation related to sleep length (Paul Menzel). - iASL/MADT: Add OEM-defined subtable (Bob Moore). - Interpreter: Fix some typo mistakes (Selvarasu Ganesan). - Updates for revision E.d of IORT (Shameer Kolothum). - Use ACPI_FORMAT_UINT64 for 64-bit output (Bob Moore). - Update version to 20220331 (Bob Moore). * acpica: (21 commits) Revert "ACPICA: executer/exsystem: Warn about sleeps greater than 10 ms" ACPICA: Update version to 20220331 ACPICA: exsystem.c: Use ACPI_FORMAT_UINT64 for 64-bit output ACPICA: IORT: Updates for revision E.d ACPICA: executer/exsystem: Fix some typo mistakes ACPICA: iASL/MADT: Add OEM-defined subtable ACPICA: executer/exsystem: Warn about sleeps greater than 10 ms ACPICA: executer/exsystem: Inform users about ACPI spec violation ACPICA: Add support for ARM Performance Monitoring Unit Table. ACPICA: executer/exsystem: Add units to time variable names ACPICA: Headers: Replace zero-length array with flexible-array member ACPICA: Removed some tabs and // comments ACPICA: Update copyright notices to the year 2022 ACPICA: Clean up double word in comment ACPICA: Add new ACPI 6.4 semantics for LoadTable() operator ACPICA: Add new ACPI 6.4 semantics to the Load() operator ACPICA: iASL: NHLT: Rename linux specific strucures to device_info ACPICA: iASL: NHLT: Fix parsing undocumented bytes at the end of Endpoint Descriptor ACPICA: iASL: NHLT: Treat Terminator as specific_config ACPICA: Add the subtable CFMWS to the CEDT table ...
Showing the changes to include (22 of 175 files). Show all
Unified · Split
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: acbuffer.h - Support for buffers returned by ACPI predefined names | 4 | * Name: acbuffer.h - Support for buffers returned by ACPI predefined names |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: acconfig.h - Global configuration constants | 4 | * Name: acconfig.h - Global configuration constants |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: acexcep.h - Exception codes returned by the ACPI subsystem | 4 | * Name: acexcep.h - Exception codes returned by the ACPI subsystem |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: acnames.h - Global names and strings | 4 | * Name: acnames.h - Global names and strings |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: acoutput.h -- debug output | 4 | * Name: acoutput.h -- debug output |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: acpi.h - Master public include file used to interface to ACPICA | 4 | * Name: acpi.h - Master public include file used to interface to ACPICA |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -5,7 +5,7 @@ · 4 unmodified lines | |||
| 5 | * interfaces must be implemented by OSL to interface the | 5 | * interfaces must be implemented by OSL to interface the |
| 6 | * ACPI components to the host operating system. | 6 | * ACPI components to the host operating system. |
| 7 | * | 7 | * |
| 8 | * Copyright (C) 2000 - 2021, Intel Corp. | 8 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 9 | * | 9 | * |
| 10 | *****************************************************************************/ | 10 | *****************************************************************************/ |
| 11 | 11 | ||
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: acpixf.h - External interfaces to the ACPI subsystem | 4 | * Name: acpixf.h - External interfaces to the ACPI subsystem |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -12,7 +12,7 @@ · 2 unmodified lines | |||
| 12 | 12 | ||
| 13 | /* Current ACPICA subsystem version in YYYYMMDD format */ | 13 | /* Current ACPICA subsystem version in YYYYMMDD format */ |
| 14 | 14 | ||
| 15 | #define ACPI_CA_VERSION 0x20211217 | 15 | #define ACPI_CA_VERSION 0x20220331 |
| 16 | 16 | ||
| 17 | #include <acpi/acconfig.h> | 17 | #include <acpi/acconfig.h> |
| 18 | #include <acpi/actypes.h> | 18 | #include <acpi/actypes.h> |
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: acrestyp.h - Defines, types, and structures for resource descriptors | 4 | * Name: acrestyp.h - Defines, types, and structures for resource descriptors |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: actbl.h - Basic ACPI Table Definitions | 4 | * Name: actbl.h - Basic ACPI Table Definitions |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: actbl1.h - Additional ACPI table definitions | 4 | * Name: actbl1.h - Additional ACPI table definitions |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -373,17 +373,21 @@ struct acpi_cedt_cfmws { · 363 unmodified lines | |||
| 373 | u32 interleave_targets[]; | 373 | u32 interleave_targets[]; |
| 374 | }; | 374 | }; |
| 375 | 375 | ||
| 376 | struct acpi_cedt_cfmws_target_element { | ||
| 377 | u32 interleave_target; | ||
| 378 | }; | ||
| 379 | |||
| 376 | /* Values for Interleave Arithmetic field above */ | 380 | /* Values for Interleave Arithmetic field above */ |
| 377 | 381 | ||
| 378 | #define ACPI_CEDT_CFMWS_ARITHMETIC_MODULO (0) | 382 | #define ACPI_CEDT_CFMWS_ARITHMETIC_MODULO (0) |
| 379 | 383 | ||
| 380 | /* Values for Restrictions field above */ | 384 | /* Values for Restrictions field above */ |
| 381 | 385 | ||
| 382 | #define ACPI_CEDT_CFMWS_RESTRICT_TYPE2 (1) | 386 | #define ACPI_CEDT_CFMWS_RESTRICT_TYPE2 (1) |
| 383 | #define ACPI_CEDT_CFMWS_RESTRICT_TYPE3 (1<<1) | 387 | #define ACPI_CEDT_CFMWS_RESTRICT_TYPE3 (1<<1) |
| 384 | #define ACPI_CEDT_CFMWS_RESTRICT_VOLATILE (1<<2) | 388 | #define ACPI_CEDT_CFMWS_RESTRICT_VOLATILE (1<<2) |
| 385 | #define ACPI_CEDT_CFMWS_RESTRICT_PMEM (1<<3) | 389 | #define ACPI_CEDT_CFMWS_RESTRICT_PMEM (1<<3) |
| 386 | #define ACPI_CEDT_CFMWS_RESTRICT_FIXED (1<<4) | 390 | #define ACPI_CEDT_CFMWS_RESTRICT_FIXED (1<<4) |
| 387 | 391 | ||
| 388 | /******************************************************************************* | 392 | /******************************************************************************* |
| 389 | * | 393 | * |
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: actbl2.h - ACPI Table Definitions (tables not in ACPI spec) | 4 | * Name: actbl2.h - ACPI Table Definitions (tables not in ACPI spec) |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -25,6 +25,7 @@ · 15 unmodified lines | |||
| 25 | * the wrong signature. | 25 | * the wrong signature. |
| 26 | */ | 26 | */ |
| 27 | #define ACPI_SIG_AGDI "AGDI" /* Arm Generic Diagnostic Dump and Reset Device Interface */ | 27 | #define ACPI_SIG_AGDI "AGDI" /* Arm Generic Diagnostic Dump and Reset Device Interface */ |
| 28 | #define ACPI_SIG_APMT "APMT" /* Arm Performance Monitoring Unit table */ | ||
| 28 | #define ACPI_SIG_BDAT "BDAT" /* BIOS Data ACPI Table */ | 29 | #define ACPI_SIG_BDAT "BDAT" /* BIOS Data ACPI Table */ |
| 29 | #define ACPI_SIG_IORT "IORT" /* IO Remapping Table */ | 30 | #define ACPI_SIG_IORT "IORT" /* IO Remapping Table */ |
| 30 | #define ACPI_SIG_IVRS "IVRS" /* I/O Virtualization Reporting Structure */ | 31 | #define ACPI_SIG_IVRS "IVRS" /* I/O Virtualization Reporting Structure */ |
| @@ -258,6 +259,85 @@ struct acpi_table_agdi { · 227 unmodified lines | |||
| 258 | 259 | ||
| 259 | #define ACPI_AGDI_SIGNALING_MODE (1) | 260 | #define ACPI_AGDI_SIGNALING_MODE (1) |
| 260 | 261 | ||
| 262 | /******************************************************************************* | ||
| 263 | * | ||
| 264 | * APMT - ARM Performance Monitoring Unit Table | ||
| 265 | * | ||
| 266 | * Conforms to: | ||
| 267 | * ARM Performance Monitoring Unit Architecture 1.0 Platform Design Document | ||
| 268 | * ARM DEN0117 v1.0 November 25, 2021 | ||
| 269 | * | ||
| 270 | ******************************************************************************/ | ||
| 271 | |||
| 272 | struct acpi_table_apmt { | ||
| 273 | struct acpi_table_header header; /* Common ACPI table header */ | ||
| 274 | }; | ||
| 275 | |||
| 276 | #define ACPI_APMT_NODE_ID_LENGTH 4 | ||
| 277 | |||
| 278 | /* | ||
| 279 | * APMT subtables | ||
| 280 | */ | ||
| 281 | struct acpi_apmt_node { | ||
| 282 | u16 length; | ||
| 283 | u8 flags; | ||
| 284 | u8 type; | ||
| 285 | u32 id; | ||
| 286 | u64 inst_primary; | ||
| 287 | u32 inst_secondary; | ||
| 288 | u64 base_address0; | ||
| 289 | u64 base_address1; | ||
| 290 | u32 ovflw_irq; | ||
| 291 | u32 reserved; | ||
| 292 | u32 ovflw_irq_flags; | ||
| 293 | u32 proc_affinity; | ||
| 294 | u32 impl_id; | ||
| 295 | }; | ||
| 296 | |||
| 297 | /* Masks for Flags field above */ | ||
| 298 | |||
| 299 | #define ACPI_APMT_FLAGS_DUAL_PAGE (1<<0) | ||
| 300 | #define ACPI_APMT_FLAGS_AFFINITY (1<<1) | ||
| 301 | #define ACPI_APMT_FLAGS_ATOMIC (1<<2) | ||
| 302 | |||
| 303 | /* Values for Flags dual page field above */ | ||
| 304 | |||
| 305 | #define ACPI_APMT_FLAGS_DUAL_PAGE_NSUPP (0<<0) | ||
| 306 | #define ACPI_APMT_FLAGS_DUAL_PAGE_SUPP (1<<0) | ||
| 307 | |||
| 308 | /* Values for Flags processor affinity field above */ | ||
| 309 | #define ACPI_APMT_FLAGS_AFFINITY_PROC (0<<1) | ||
| 310 | #define ACPI_APMT_FLAGS_AFFINITY_PROC_CONTAINER (1<<1) | ||
| 311 | |||
| 312 | /* Values for Flags 64-bit atomic field above */ | ||
| 313 | #define ACPI_APMT_FLAGS_ATOMIC_NSUPP (0<<2) | ||
| 314 | #define ACPI_APMT_FLAGS_ATOMIC_SUPP (1<<2) | ||
| 315 | |||
| 316 | /* Values for Type field above */ | ||
| 317 | |||
| 318 | enum acpi_apmt_node_type { | ||
| 319 | ACPI_APMT_NODE_TYPE_MC = 0x00, | ||
| 320 | ACPI_APMT_NODE_TYPE_SMMU = 0x01, | ||
| 321 | ACPI_APMT_NODE_TYPE_PCIE_ROOT = 0x02, | ||
| 322 | ACPI_APMT_NODE_TYPE_ACPI = 0x03, | ||
| 323 | ACPI_APMT_NODE_TYPE_CACHE = 0x04, | ||
| 324 | ACPI_APMT_NODE_TYPE_COUNT | ||
| 325 | }; | ||
| 326 | |||
| 327 | /* Masks for ovflw_irq_flags field above */ | ||
| 328 | |||
| 329 | #define ACPI_APMT_OVFLW_IRQ_FLAGS_MODE (1<<0) | ||
| 330 | #define ACPI_APMT_OVFLW_IRQ_FLAGS_TYPE (1<<1) | ||
| 331 | |||
| 332 | /* Values for ovflw_irq_flags mode field above */ | ||
| 333 | |||
| 334 | #define ACPI_APMT_OVFLW_IRQ_FLAGS_MODE_LEVEL (0<<0) | ||
| 335 | #define ACPI_APMT_OVFLW_IRQ_FLAGS_MODE_EDGE (1<<0) | ||
| 336 | |||
| 337 | /* Values for ovflw_irq_flags type field above */ | ||
| 338 | |||
| 339 | #define ACPI_APMT_OVFLW_IRQ_FLAGS_TYPE_WIRED (0<<1) | ||
| 340 | |||
| 261 | /******************************************************************************* | 341 | /******************************************************************************* |
| 262 | * | 342 | * |
| 263 | * BDAT - BIOS Data ACPI Table | 343 | * BDAT - BIOS Data ACPI Table |
| @@ -277,7 +357,7 @@ struct acpi_table_bdat { · 13 unmodified lines | |||
| 277 | * IORT - IO Remapping Table | 357 | * IORT - IO Remapping Table |
| 278 | * | 358 | * |
| 279 | * Conforms to "IO Remapping Table System Software on ARM Platforms", | 359 | * Conforms to "IO Remapping Table System Software on ARM Platforms", |
| 280 | * Document number: ARM DEN 0049E.b, Feb 2021 | 360 | * Document number: ARM DEN 0049E.d, Feb 2022 |
| 281 | * | 361 | * |
| 282 | ******************************************************************************/ | 362 | ******************************************************************************/ |
| 283 | 363 | ||
| @@ -374,7 +454,8 @@ struct acpi_iort_root_complex { · 90 unmodified lines | |||
| 374 | u32 ats_attribute; | 454 | u32 ats_attribute; |
| 375 | u32 pci_segment_number; | 455 | u32 pci_segment_number; |
| 376 | u8 memory_address_limit; /* Memory address size limit */ | 456 | u8 memory_address_limit; /* Memory address size limit */ |
| 377 | u8 reserved[3]; /* Reserved, must be zero */ | 457 | u16 pasid_capabilities; /* PASID Capabilities */ |
| 458 | u8 reserved[1]; /* Reserved, must be zero */ | ||
| 378 | }; | 459 | }; |
| 379 | 460 | ||
| 380 | /* Masks for ats_attribute field above */ | 461 | /* Masks for ats_attribute field above */ |
| @@ -383,6 +464,9 @@ struct acpi_iort_root_complex { · 2 unmodified lines | |||
| 383 | #define ACPI_IORT_PRI_SUPPORTED (1<<1) /* The root complex PRI support */ | 464 | #define ACPI_IORT_PRI_SUPPORTED (1<<1) /* The root complex PRI support */ |
| 384 | #define ACPI_IORT_PASID_FWD_SUPPORTED (1<<2) /* The root complex PASID forward support */ | 465 | #define ACPI_IORT_PASID_FWD_SUPPORTED (1<<2) /* The root complex PASID forward support */ |
| 385 | 466 | ||
| 467 | /* Masks for pasid_capabilities field above */ | ||
| 468 | #define ACPI_IORT_PASID_MAX_WIDTH (0x1F) /* Bits 0-4 */ | ||
| 469 | |||
| 386 | struct acpi_iort_smmu { | 470 | struct acpi_iort_smmu { |
| 387 | u64 base_address; /* SMMU base address */ | 471 | u64 base_address; /* SMMU base address */ |
| 388 | u64 span; /* Length of memory range */ | 472 | u64 span; /* Length of memory range */ |
| @@ -458,6 +542,25 @@ struct acpi_iort_rmr { · 69 unmodified lines | |||
| 458 | u32 rmr_offset; | 542 | u32 rmr_offset; |
| 459 | }; | 543 | }; |
| 460 | 544 | ||
| 545 | /* Masks for Flags field above */ | ||
| 546 | #define ACPI_IORT_RMR_REMAP_PERMITTED (1) | ||
| 547 | #define ACPI_IORT_RMR_ACCESS_PRIVILEGE (1<<1) | ||
| 548 | |||
| 549 | /* | ||
| 550 | * Macro to access the Access Attributes in flags field above: | ||
| 551 | * Access Attributes is encoded in bits 9:2 | ||
| 552 | */ | ||
| 553 | #define ACPI_IORT_RMR_ACCESS_ATTRIBUTES(flags) (((flags) >> 2) & 0xFF) | ||
| 554 | |||
| 555 | /* Values for above Access Attributes */ | ||
| 556 | |||
| 557 | #define ACPI_IORT_RMR_ATTR_DEVICE_NGNRNE 0x00 | ||
| 558 | #define ACPI_IORT_RMR_ATTR_DEVICE_NGNRE 0x01 | ||
| 559 | #define ACPI_IORT_RMR_ATTR_DEVICE_NGRE 0x02 | ||
| 560 | #define ACPI_IORT_RMR_ATTR_DEVICE_GRE 0x03 | ||
| 561 | #define ACPI_IORT_RMR_ATTR_NORMAL_NC 0x04 | ||
| 562 | #define ACPI_IORT_RMR_ATTR_NORMAL_IWB_OWB 0x05 | ||
| 563 | |||
| 461 | struct acpi_iort_rmr_desc { | 564 | struct acpi_iort_rmr_desc { |
| 462 | u64 base_address; | 565 | u64 base_address; |
| 463 | u64 length; | 566 | u64 length; |
| @@ -762,7 +865,8 @@ enum acpi_madt_type { · 298 unmodified lines | |||
| 762 | ACPI_MADT_TYPE_GENERIC_REDISTRIBUTOR = 14, | 865 | ACPI_MADT_TYPE_GENERIC_REDISTRIBUTOR = 14, |
| 763 | ACPI_MADT_TYPE_GENERIC_TRANSLATOR = 15, | 866 | ACPI_MADT_TYPE_GENERIC_TRANSLATOR = 15, |
| 764 | ACPI_MADT_TYPE_MULTIPROC_WAKEUP = 16, | 867 | ACPI_MADT_TYPE_MULTIPROC_WAKEUP = 16, |
| 765 | ACPI_MADT_TYPE_RESERVED = 17 /* 17 and greater are reserved */ | 868 | ACPI_MADT_TYPE_RESERVED = 17, /* 17 to 0x7F are reserved */ |
| 869 | ACPI_MADT_TYPE_OEM_RESERVED = 0x80 /* 0x80 to 0xFF are reserved for OEM use */ | ||
| 766 | }; | 870 | }; |
| 767 | 871 | ||
| 768 | /* | 872 | /* |
| @@ -978,8 +1082,8 @@ struct acpi_madt_multiproc_wakeup { · 209 unmodified lines | |||
| 978 | u64 base_address; | 1082 | u64 base_address; |
| 979 | }; | 1083 | }; |
| 980 | 1084 | ||
| 981 | #define ACPI_MULTIPROC_WAKEUP_MB_OS_SIZE 2032 | 1085 | #define ACPI_MULTIPROC_WAKEUP_MB_OS_SIZE 2032 |
| 982 | #define ACPI_MULTIPROC_WAKEUP_MB_FIRMWARE_SIZE 2048 | 1086 | #define ACPI_MULTIPROC_WAKEUP_MB_FIRMWARE_SIZE 2048 |
| 983 | 1087 | ||
| 984 | struct acpi_madt_multiproc_wakeup_mailbox { | 1088 | struct acpi_madt_multiproc_wakeup_mailbox { |
| 985 | u16 command; | 1089 | u16 command; |
| @@ -992,6 +1096,12 @@ struct acpi_madt_multiproc_wakeup_mailbox { · 6 unmodified lines | |||
| 992 | 1096 | ||
| 993 | #define ACPI_MP_WAKE_COMMAND_WAKEUP 1 | 1097 | #define ACPI_MP_WAKE_COMMAND_WAKEUP 1 |
| 994 | 1098 | ||
| 1099 | /* 17: OEM data */ | ||
| 1100 | |||
| 1101 | struct acpi_madt_oem_data { | ||
| 1102 | u8 oem_data[0]; | ||
| 1103 | }; | ||
| 1104 | |||
| 995 | /* | 1105 | /* |
| 996 | * Common flags fields for MADT subtables | 1106 | * Common flags fields for MADT subtables |
| 997 | */ | 1107 | */ |
| @@ -1597,7 +1707,7 @@ struct acpi_nhlt_mic_device_specific_config { · 599 unmodified lines | |||
| 1597 | 1707 | ||
| 1598 | /* Values for array_type_ext above */ | 1708 | /* Values for array_type_ext above */ |
| 1599 | 1709 | ||
| 1600 | #define ACPI_NHLT_ARRAY_TYPE_RESERVED 0x09 // 9 and below are reserved | 1710 | #define ACPI_NHLT_ARRAY_TYPE_RESERVED 0x09 /* 9 and below are reserved */ |
| 1601 | #define ACPI_NHLT_SMALL_LINEAR_2ELEMENT 0x0A | 1711 | #define ACPI_NHLT_SMALL_LINEAR_2ELEMENT 0x0A |
| 1602 | #define ACPI_NHLT_BIG_LINEAR_2ELEMENT 0x0B | 1712 | #define ACPI_NHLT_BIG_LINEAR_2ELEMENT 0x0B |
| 1603 | #define ACPI_NHLT_FIRST_GEOMETRY_LINEAR_4ELEMENT 0x0C | 1713 | #define ACPI_NHLT_FIRST_GEOMETRY_LINEAR_4ELEMENT 0x0C |
| @@ -1617,17 +1727,17 @@ struct acpi_nhlt_vendor_mic_count { · 13 unmodified lines | |||
| 1617 | struct acpi_nhlt_vendor_mic_config { | 1727 | struct acpi_nhlt_vendor_mic_config { |
| 1618 | u8 type; | 1728 | u8 type; |
| 1619 | u8 panel; | 1729 | u8 panel; |
| 1620 | u16 speaker_position_distance; // mm | 1730 | u16 speaker_position_distance; /* mm */ |
| 1621 | u16 horizontal_offset; // mm | 1731 | u16 horizontal_offset; /* mm */ |
| 1622 | u16 vertical_offset; // mm | 1732 | u16 vertical_offset; /* mm */ |
| 1623 | u8 frequency_low_band; // 5*hz | 1733 | u8 frequency_low_band; /* 5*Hz */ |
| 1624 | u8 frequency_high_band; // 500*hz | 1734 | u8 frequency_high_band; /* 500*Hz */ |
| 1625 | u16 direction_angle; // -180 - + 180 | 1735 | u16 direction_angle; /* -180 - + 180 */ |
| 1626 | u16 elevation_angle; // -180 - + 180 | 1736 | u16 elevation_angle; /* -180 - + 180 */ |
| 1627 | u16 work_vertical_angle_begin; // -180 - + 180 with 2 deg step | 1737 | u16 work_vertical_angle_begin; /* -180 - + 180 with 2 deg step */ |
| 1628 | u16 work_vertical_angle_end; // -180 - + 180 with 2 deg step | 1738 | u16 work_vertical_angle_end; /* -180 - + 180 with 2 deg step */ |
| 1629 | u16 work_horizontal_angle_begin; // -180 - + 180 with 2 deg step | 1739 | u16 work_horizontal_angle_begin; /* -180 - + 180 with 2 deg step */ |
| 1630 | u16 work_horizontal_angle_end; // -180 - + 180 with 2 deg step | 1740 | u16 work_horizontal_angle_end; /* -180 - + 180 with 2 deg step */ |
| 1631 | }; | 1741 | }; |
| 1632 | 1742 | ||
| 1633 | /* Values for Type field above */ | 1743 | /* Values for Type field above */ |
| @@ -1638,9 +1748,9 @@ struct acpi_nhlt_vendor_mic_config { · 4 unmodified lines | |||
| 1638 | #define ACPI_NHLT_MIC_SUPER_CARDIOID 3 | 1748 | #define ACPI_NHLT_MIC_SUPER_CARDIOID 3 |
| 1639 | #define ACPI_NHLT_MIC_HYPER_CARDIOID 4 | 1749 | #define ACPI_NHLT_MIC_HYPER_CARDIOID 4 |
| 1640 | #define ACPI_NHLT_MIC_8_SHAPED 5 | 1750 | #define ACPI_NHLT_MIC_8_SHAPED 5 |
| 1641 | #define ACPI_NHLT_MIC_RESERVED6 6 // 6 is reserved | 1751 | #define ACPI_NHLT_MIC_RESERVED6 6 /* 6 is reserved */ |
| 1642 | #define ACPI_NHLT_MIC_VENDOR_DEFINED 7 | 1752 | #define ACPI_NHLT_MIC_VENDOR_DEFINED 7 |
| 1643 | #define ACPI_NHLT_MIC_RESERVED 8 // 8 and above are reserved | 1753 | #define ACPI_NHLT_MIC_RESERVED 8 /* 8 and above are reserved */ |
| 1644 | 1754 | ||
| 1645 | /* Values for Panel field above */ | 1755 | /* Values for Panel field above */ |
| 1646 | 1756 | ||
| @@ -1650,12 +1760,12 @@ struct acpi_nhlt_vendor_mic_config { · 3 unmodified lines | |||
| 1650 | #define ACPI_NHLT_MIC_POSITION_RIGHT 3 | 1760 | #define ACPI_NHLT_MIC_POSITION_RIGHT 3 |
| 1651 | #define ACPI_NHLT_MIC_POSITION_FRONT 4 | 1761 | #define ACPI_NHLT_MIC_POSITION_FRONT 4 |
| 1652 | #define ACPI_NHLT_MIC_POSITION_BACK 5 | 1762 | #define ACPI_NHLT_MIC_POSITION_BACK 5 |
| 1653 | #define ACPI_NHLT_MIC_POSITION_RESERVED 6 // 6 and above are reserved | 1763 | #define ACPI_NHLT_MIC_POSITION_RESERVED 6 /* 6 and above are reserved */ |
| 1654 | 1764 | ||
| 1655 | struct acpi_nhlt_vendor_mic_device_specific_config { | 1765 | struct acpi_nhlt_vendor_mic_device_specific_config { |
| 1656 | struct acpi_nhlt_mic_device_specific_config mic_array_device_config; | 1766 | struct acpi_nhlt_mic_device_specific_config mic_array_device_config; |
| 1657 | u8 number_of_microphones; | 1767 | u8 number_of_microphones; |
| 1658 | struct acpi_nhlt_vendor_mic_config mic_config[]; // indexed by number_of_microphones | 1768 | struct acpi_nhlt_vendor_mic_config mic_config[]; /* Indexed by number_of_microphones */ |
| 1659 | }; | 1769 | }; |
| 1660 | 1770 | ||
| 1661 | /* Microphone SNR and Sensitivity extension */ | 1771 | /* Microphone SNR and Sensitivity extension */ |
| @@ -1668,32 +1778,23 @@ struct acpi_nhlt_mic_snr_sensitivity_extension { · 6 unmodified lines | |||
| 1668 | /* Render device with feedback */ | 1778 | /* Render device with feedback */ |
| 1669 | 1779 | ||
| 1670 | struct acpi_nhlt_render_feedback_device_specific_config { | 1780 | struct acpi_nhlt_render_feedback_device_specific_config { |
| 1671 | u8 feedback_virtual_slot; // render slot in case of capture | 1781 | u8 feedback_virtual_slot; /* Render slot in case of capture */ |
| 1672 | u16 feedback_channels; // informative only | 1782 | u16 feedback_channels; /* Informative only */ |
| 1673 | u16 feedback_valid_bits_per_sample; | 1783 | u16 feedback_valid_bits_per_sample; |
| 1674 | }; | 1784 | }; |
| 1675 | 1785 | ||
| 1676 | /* Linux-specific structures */ | 1786 | /* Non documented structures */ |
| 1677 | 1787 | ||
| 1678 | struct acpi_nhlt_linux_specific_count { | 1788 | struct acpi_nhlt_device_info_count { |
| 1679 | u8 structure_count; | 1789 | u8 structure_count; |
| 1680 | }; | 1790 | }; |
| 1681 | 1791 | ||
| 1682 | struct acpi_nhlt_linux_specific_data { | 1792 | struct acpi_nhlt_device_info { |
| 1683 | u8 device_id[16]; | 1793 | u8 device_id[16]; |
| 1684 | u8 device_instance_id; | 1794 | u8 device_instance_id; |
| 1685 | u8 device_port_id; | 1795 | u8 device_port_id; |
| 1686 | }; | 1796 | }; |
| 1687 | 1797 | ||
| 1688 | struct acpi_nhlt_linux_specific_data_b { | ||
| 1689 | u8 specific_data[18]; | ||
| 1690 | }; | ||
| 1691 | |||
| 1692 | struct acpi_nhlt_table_terminator { | ||
| 1693 | u32 terminator_value; | ||
| 1694 | u32 terminator_signature; | ||
| 1695 | }; | ||
| 1696 | |||
| 1697 | /******************************************************************************* | 1798 | /******************************************************************************* |
| 1698 | * | 1799 | * |
| 1699 | * PCCT - Platform Communications Channel Table (ACPI 5.0) | 1800 | * PCCT - Platform Communications Channel Table (ACPI 5.0) |
| @@ -2319,7 +2420,7 @@ struct acpi_table_rgrt { · 619 unmodified lines | |||
| 2319 | u16 version; | 2420 | u16 version; |
| 2320 | u8 image_type; | 2421 | u8 image_type; |
| 2321 | u8 reserved; | 2422 | u8 reserved; |
| 2322 | u8 image[0]; | 2423 | u8 image[]; |
| 2323 | }; | 2424 | }; |
| 2324 | 2425 | ||
| 2325 | /* image_type values */ | 2426 | /* image_type values */ |
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: actbl3.h - ACPI Table Definitions | 4 | * Name: actbl3.h - ACPI Table Definitions |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: actypes.h - Common data types for the entire ACPI subsystem | 4 | * Name: actypes.h - Common data types for the entire ACPI subsystem |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -539,14 +539,14 @@ typedef u64 acpi_integer; · 529 unmodified lines | |||
| 539 | * Can be used with access_width of struct acpi_generic_address and access_size of | 539 | * Can be used with access_width of struct acpi_generic_address and access_size of |
| 540 | * struct acpi_resource_generic_register. | 540 | * struct acpi_resource_generic_register. |
| 541 | */ | 541 | */ |
| 542 | #define ACPI_ACCESS_BIT_SHIFT 2 | 542 | #define ACPI_ACCESS_BIT_SHIFT 2 |
| 543 | #define ACPI_ACCESS_BYTE_SHIFT -1 | 543 | #define ACPI_ACCESS_BYTE_SHIFT -1 |
| 544 | #define ACPI_ACCESS_BIT_MAX (31 - ACPI_ACCESS_BIT_SHIFT) | 544 | #define ACPI_ACCESS_BIT_MAX (31 - ACPI_ACCESS_BIT_SHIFT) |
| 545 | #define ACPI_ACCESS_BYTE_MAX (31 - ACPI_ACCESS_BYTE_SHIFT) | 545 | #define ACPI_ACCESS_BYTE_MAX (31 - ACPI_ACCESS_BYTE_SHIFT) |
| 546 | #define ACPI_ACCESS_BIT_DEFAULT (8 - ACPI_ACCESS_BIT_SHIFT) | 546 | #define ACPI_ACCESS_BIT_DEFAULT (8 - ACPI_ACCESS_BIT_SHIFT) |
| 547 | #define ACPI_ACCESS_BYTE_DEFAULT (8 - ACPI_ACCESS_BYTE_SHIFT) | 547 | #define ACPI_ACCESS_BYTE_DEFAULT (8 - ACPI_ACCESS_BYTE_SHIFT) |
| 548 | #define ACPI_ACCESS_BIT_WIDTH(size) (1 << ((size) + ACPI_ACCESS_BIT_SHIFT)) | 548 | #define ACPI_ACCESS_BIT_WIDTH(size) (1 << ((size) + ACPI_ACCESS_BIT_SHIFT)) |
| 549 | #define ACPI_ACCESS_BYTE_WIDTH(size) (1 << ((size) + ACPI_ACCESS_BYTE_SHIFT)) | 549 | #define ACPI_ACCESS_BYTE_WIDTH(size) (1 << ((size) + ACPI_ACCESS_BYTE_SHIFT)) |
| 550 | 550 | ||
| 551 | /******************************************************************************* | 551 | /******************************************************************************* |
| 552 | * | 552 | * |
| @@ -1303,6 +1303,7 @@ typedef enum { · 750 unmodified lines | |||
| 1303 | #define ACPI_OSI_WIN_10_RS5 0x13 | 1303 | #define ACPI_OSI_WIN_10_RS5 0x13 |
| 1304 | #define ACPI_OSI_WIN_10_19H1 0x14 | 1304 | #define ACPI_OSI_WIN_10_19H1 0x14 |
| 1305 | #define ACPI_OSI_WIN_10_20H1 0x15 | 1305 | #define ACPI_OSI_WIN_10_20H1 0x15 |
| 1306 | #define ACPI_OSI_WIN_11 0x16 | ||
| 1306 | 1307 | ||
| 1307 | /* Definitions of getopt */ | 1308 | /* Definitions of getopt */ |
| 1308 | 1309 | ||
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: acuuid.h - ACPI-related UUID/GUID definitions | 4 | * Name: acuuid.h - ACPI-related UUID/GUID definitions |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: acenv.h - Host and compiler configuration | 4 | * Name: acenv.h - Host and compiler configuration |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: acenvex.h - Extra host and compiler configuration | 4 | * Name: acenvex.h - Extra host and compiler configuration |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: acgcc.h - GCC specific defines, etc. | 4 | * Name: acgcc.h - GCC specific defines, etc. |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: acgccex.h - Extra GCC specific defines, etc. | 4 | * Name: acgccex.h - Extra GCC specific defines, etc. |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: acintel.h - VC specific defines, etc. | 4 | * Name: acintel.h - VC specific defines, etc. |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: aclinux.h - OS specific defines, etc. for Linux | 4 | * Name: aclinux.h - OS specific defines, etc. for Linux |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | * | 3 | * |
| 4 | * Name: aclinuxex.h - Extra OS specific defines, etc. for Linux | 4 | * Name: aclinuxex.h - Extra OS specific defines, etc. for Linux |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2000 - 2021, Intel Corp. | 6 | * Copyright (C) 2000 - 2022, Intel Corp. |
| 7 | * | 7 | * |
| 8 | *****************************************************************************/ | 8 | *****************************************************************************/ |
| 9 | 9 | ||