Skip to content

Commit b46a8ed

Browse files
committed
Merge branch 'acpica'
* acpica: ACPICA: Update version to 20210730 ACPICA: Add method name "_DIS" For use with aslmethod.c ACPICA: iASL: Fix for WPBT table with no command-line arguments ACPICA: Headers: Add new DBG2 Serial Port Subtypes ACPICA: Macros should not use a trailing semicolon ACPICA: Fix an if statement (add parens) ACPICA: iASL: Add support for the AEST table (data compiler)
2 parents 294c34e + 696e0c9 commit b46a8ed

File tree

7 files changed

+194
-6
lines changed

7 files changed

+194
-6
lines changed

drivers/acpi/acpica/dswexec.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -561,11 +561,10 @@ acpi_status acpi_ds_exec_end_op(struct acpi_walk_state *walk_state)
561561
op->common.
562562
node->object,
563563
NULL);
564-
if ACPI_FAILURE
565-
(status) {
564+
if (ACPI_FAILURE(status)) {
566565
ACPI_EXCEPTION((AE_INFO, status,
567566
"While writing to buffer field"));
568-
}
567+
}
569568
}
570569
ACPI_FREE(namepath);
571570
status = AE_OK;

include/acpi/acnames.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#define METHOD_NAME__CLS "_CLS"
2121
#define METHOD_NAME__CRS "_CRS"
2222
#define METHOD_NAME__DDN "_DDN"
23+
#define METHOD_NAME__DIS "_DIS"
2324
#define METHOD_NAME__DMA "_DMA"
2425
#define METHOD_NAME__HID "_HID"
2526
#define METHOD_NAME__INI "_INI"

include/acpi/acoutput.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@
415415
/* Conditional execution */
416416

417417
#define ACPI_DEBUG_EXEC(a) a
418-
#define ACPI_DEBUG_ONLY_MEMBERS(a) a;
418+
#define ACPI_DEBUG_ONLY_MEMBERS(a) a
419419
#define _VERBOSE_STRUCTURES
420420

421421
/* Various object display routines for debug */

include/acpi/acpixf.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
/* Current ACPICA subsystem version in YYYYMMDD format */
1414

15-
#define ACPI_CA_VERSION 0x20210604
15+
#define ACPI_CA_VERSION 0x20210730
1616

1717
#include <acpi/acconfig.h>
1818
#include <acpi/actypes.h>

include/acpi/actbl1.h

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
* file. Useful because they make it more difficult to inadvertently type in
2525
* the wrong signature.
2626
*/
27+
#define ACPI_SIG_AEST "AEST" /* Arm Error Source Table */
2728
#define ACPI_SIG_ASF "ASF!" /* Alert Standard Format table */
2829
#define ACPI_SIG_BERT "BERT" /* Boot Error Record Table */
2930
#define ACPI_SIG_BGRT "BGRT" /* Boot Graphics Resource Table */
@@ -482,7 +483,7 @@ struct acpi_csrt_descriptor {
482483
* DBG2 - Debug Port Table 2
483484
* Version 0 (Both main table and subtables)
484485
*
485-
* Conforms to "Microsoft Debug Port Table 2 (DBG2)", December 10, 2015
486+
* Conforms to "Microsoft Debug Port Table 2 (DBG2)", September 21, 2020
486487
*
487488
******************************************************************************/
488489

@@ -532,11 +533,24 @@ struct acpi_dbg2_device {
532533

533534
#define ACPI_DBG2_16550_COMPATIBLE 0x0000
534535
#define ACPI_DBG2_16550_SUBSET 0x0001
536+
#define ACPI_DBG2_MAX311XE_SPI 0x0002
535537
#define ACPI_DBG2_ARM_PL011 0x0003
538+
#define ACPI_DBG2_MSM8X60 0x0004
539+
#define ACPI_DBG2_16550_NVIDIA 0x0005
540+
#define ACPI_DBG2_TI_OMAP 0x0006
541+
#define ACPI_DBG2_APM88XXXX 0x0008
542+
#define ACPI_DBG2_MSM8974 0x0009
543+
#define ACPI_DBG2_SAM5250 0x000A
544+
#define ACPI_DBG2_INTEL_USIF 0x000B
545+
#define ACPI_DBG2_IMX6 0x000C
536546
#define ACPI_DBG2_ARM_SBSA_32BIT 0x000D
537547
#define ACPI_DBG2_ARM_SBSA_GENERIC 0x000E
538548
#define ACPI_DBG2_ARM_DCC 0x000F
539549
#define ACPI_DBG2_BCM2835 0x0010
550+
#define ACPI_DBG2_SDM845_1_8432MHZ 0x0011
551+
#define ACPI_DBG2_16550_WITH_GAS 0x0012
552+
#define ACPI_DBG2_SDM845_7_372MHZ 0x0013
553+
#define ACPI_DBG2_INTEL_LPSS 0x0014
540554

541555
#define ACPI_DBG2_1394_STANDARD 0x0000
542556

include/acpi/actbl2.h

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,176 @@
6767
* See http://stackoverflow.com/a/1053662/41661
6868
*/
6969

70+
/*******************************************************************************
71+
*
72+
* AEST - Arm Error Source Table
73+
*
74+
* Conforms to: ACPI for the Armv8 RAS Extensions 1.1 Platform Design Document
75+
* September 2020.
76+
*
77+
******************************************************************************/
78+
79+
struct acpi_table_aest {
80+
struct acpi_table_header header;
81+
void *node_array[];
82+
};
83+
84+
/* Common Subtable header - one per Node Structure (Subtable) */
85+
86+
struct acpi_aest_hdr {
87+
u8 type;
88+
u16 length;
89+
u8 reserved;
90+
u32 node_specific_offset;
91+
u32 node_interface_offset;
92+
u32 node_interrupt_offset;
93+
u32 node_interrupt_count;
94+
u64 timestamp_rate;
95+
u64 reserved1;
96+
u64 error_injection_rate;
97+
};
98+
99+
/* Values for Type above */
100+
101+
#define ACPI_AEST_PROCESSOR_ERROR_NODE 0
102+
#define ACPI_AEST_MEMORY_ERROR_NODE 1
103+
#define ACPI_AEST_SMMU_ERROR_NODE 2
104+
#define ACPI_AEST_VENDOR_ERROR_NODE 3
105+
#define ACPI_AEST_GIC_ERROR_NODE 4
106+
#define ACPI_AEST_NODE_TYPE_RESERVED 5 /* 5 and above are reserved */
107+
108+
/*
109+
* AEST subtables (Error nodes)
110+
*/
111+
112+
/* 0: Processor Error */
113+
114+
typedef struct acpi_aest_processor {
115+
u32 processor_id;
116+
u8 resource_type;
117+
u8 reserved;
118+
u8 flags;
119+
u8 revision;
120+
u64 processor_affinity;
121+
122+
} acpi_aest_processor;
123+
124+
/* Values for resource_type above, related structs below */
125+
126+
#define ACPI_AEST_CACHE_RESOURCE 0
127+
#define ACPI_AEST_TLB_RESOURCE 1
128+
#define ACPI_AEST_GENERIC_RESOURCE 2
129+
#define ACPI_AEST_RESOURCE_RESERVED 3 /* 3 and above are reserved */
130+
131+
/* 0R: Processor Cache Resource Substructure */
132+
133+
typedef struct acpi_aest_processor_cache {
134+
u32 cache_reference;
135+
u32 reserved;
136+
137+
} acpi_aest_processor_cache;
138+
139+
/* Values for cache_type above */
140+
141+
#define ACPI_AEST_CACHE_DATA 0
142+
#define ACPI_AEST_CACHE_INSTRUCTION 1
143+
#define ACPI_AEST_CACHE_UNIFIED 2
144+
#define ACPI_AEST_CACHE_RESERVED 3 /* 3 and above are reserved */
145+
146+
/* 1R: Processor TLB Resource Substructure */
147+
148+
typedef struct acpi_aest_processor_tlb {
149+
u32 tlb_level;
150+
u32 reserved;
151+
152+
} acpi_aest_processor_tlb;
153+
154+
/* 2R: Processor Generic Resource Substructure */
155+
156+
typedef struct acpi_aest_processor_generic {
157+
u8 *resource;
158+
159+
} acpi_aest_processor_generic;
160+
161+
/* 1: Memory Error */
162+
163+
typedef struct acpi_aest_memory {
164+
u32 srat_proximity_domain;
165+
166+
} acpi_aest_memory;
167+
168+
/* 2: Smmu Error */
169+
170+
typedef struct acpi_aest_smmu {
171+
u32 iort_node_reference;
172+
u32 subcomponent_reference;
173+
174+
} acpi_aest_smmu;
175+
176+
/* 3: Vendor Defined */
177+
178+
typedef struct acpi_aest_vendor {
179+
u32 acpi_hid;
180+
u32 acpi_uid;
181+
u8 vendor_specific_data[16];
182+
183+
} acpi_aest_vendor;
184+
185+
/* 4: Gic Error */
186+
187+
typedef struct acpi_aest_gic {
188+
u32 interface_type;
189+
u32 instance_id;
190+
191+
} acpi_aest_gic;
192+
193+
/* Values for interface_type above */
194+
195+
#define ACPI_AEST_GIC_CPU 0
196+
#define ACPI_AEST_GIC_DISTRIBUTOR 1
197+
#define ACPI_AEST_GIC_REDISTRIBUTOR 2
198+
#define ACPI_AEST_GIC_ITS 3
199+
#define ACPI_AEST_GIC_RESERVED 4 /* 4 and above are reserved */
200+
201+
/* Node Interface Structure */
202+
203+
typedef struct acpi_aest_node_interface {
204+
u8 type;
205+
u8 reserved[3];
206+
u32 flags;
207+
u64 address;
208+
u32 error_record_index;
209+
u32 error_record_count;
210+
u64 error_record_implemented;
211+
u64 error_status_reporting;
212+
u64 addressing_mode;
213+
214+
} acpi_aest_node_interface;
215+
216+
/* Values for Type field above */
217+
218+
#define ACPI_AEST_NODE_SYSTEM_REGISTER 0
219+
#define ACPI_AEST_NODE_MEMORY_MAPPED 1
220+
#define ACPI_AEST_XFACE_RESERVED 2 /* 2 and above are reserved */
221+
222+
/* Node Interrupt Structure */
223+
224+
typedef struct acpi_aest_node_interrupt {
225+
u8 type;
226+
u8 reserved[2];
227+
u8 flags;
228+
u32 gsiv;
229+
u8 iort_id;
230+
u8 reserved1[3];
231+
232+
} acpi_aest_node_interrupt;
233+
234+
/* Values for Type field above */
235+
236+
#define ACPI_AEST_NODE_FAULT_HANDLING 0
237+
#define ACPI_AEST_NODE_ERROR_RECOVERY 1
238+
#define ACPI_AEST_XRUPT_RESERVED 2 /* 2 and above are reserved */
239+
70240
/*******************************************************************************
71241
*
72242
* BDAT - BIOS Data ACPI Table

include/acpi/actbl3.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -723,6 +723,10 @@ struct acpi_table_wpbt {
723723
u16 arguments_length;
724724
};
725725

726+
struct acpi_wpbt_unicode {
727+
u16 *unicode_string;
728+
};
729+
726730
/*******************************************************************************
727731
*
728732
* WSMT - Windows SMM Security Mitigations Table

0 commit comments

Comments
 (0)