Skip to content

Commit a53eaef

Browse files
rmurphy-armrafaeljw
authored andcommitted
ACPICA: IORT: Add PMCG node supprt
PMCG nodes were added by IORT revision C, with the unfortunate oversight that it only defined a single base address, and thus was incapable of properly describing PMCG implementations with PMCG_CFGR.RELOC_CTRS = 1, where the counters are in a separate page from the control registers. Revision D corrects this by clarifying the existing field as the page 0 base address and adding a second field to describe the page 1 address when implemented. With the spec now fit for purpose, let's support it. Signed-off-by: Robin Murphy <[email protected]> Signed-off-by: Erik Schmauss <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
1 parent d87be04 commit a53eaef

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

include/acpi/actbl2.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,8 @@ enum acpi_iort_node_type {
9898
ACPI_IORT_NODE_NAMED_COMPONENT = 0x01,
9999
ACPI_IORT_NODE_PCI_ROOT_COMPLEX = 0x02,
100100
ACPI_IORT_NODE_SMMU = 0x03,
101-
ACPI_IORT_NODE_SMMU_V3 = 0x04
101+
ACPI_IORT_NODE_SMMU_V3 = 0x04,
102+
ACPI_IORT_NODE_PMCG = 0x05
102103
};
103104

104105
struct acpi_iort_id_mapping {
@@ -232,6 +233,13 @@ struct acpi_iort_smmu_v3 {
232233
#define ACPI_IORT_SMMU_V3_HTTU_OVERRIDE (3<<1)
233234
#define ACPI_IORT_SMMU_V3_PXM_VALID (1<<3)
234235

236+
struct acpi_iort_pmcg {
237+
u64 page0_base_address;
238+
u32 overflow_gsiv;
239+
u32 node_reference;
240+
u64 page1_base_address;
241+
};
242+
235243
/*******************************************************************************
236244
*
237245
* IVRS - I/O Virtualization Reporting Structure

0 commit comments

Comments
 (0)