Skip to content

Commit d87be04

Browse files
rmurphy-armrafaeljw
authored andcommitted
ACPICA: IORT: Update for revision D
IORT revision D contains a few additions and fixes to currently-supported tables: - SMMUv3 proximity domain field is enlarged to 4 bytes for consistency with SRAT - Root complex nodes gain an address size limit field equivalent to that of named components - Named component nodes gain a way to describe PASID (substream_ID) support, encoded in their flags Additionally, we fix a couple of outstanding points in passing: - Add the stall support flag for named components defined in revision C - Fix SMMUv3 HTTU override mask, which should always have been 2 bits Signed-off-by: Robin Murphy <[email protected]> Signed-off-by: Erik Schmauss <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
1 parent f4fe74c commit d87be04

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

include/acpi/actbl2.h

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
* IORT - IO Remapping Table
6868
*
6969
* Conforms to "IO Remapping Table System Software on ARM Platforms",
70-
* Document number: ARM DEN 0049C, May 2017
70+
* Document number: ARM DEN 0049D, March 2018
7171
*
7272
******************************************************************************/
7373

@@ -152,10 +152,17 @@ struct acpi_iort_named_component {
152152
char device_name[1]; /* Path of namespace object */
153153
};
154154

155+
/* Masks for Flags field above */
156+
157+
#define ACPI_IORT_NC_STALL_SUPPORTED (1)
158+
#define ACPI_IORT_NC_PASID_BITS (31<<1)
159+
155160
struct acpi_iort_root_complex {
156161
u64 memory_properties; /* Memory access properties */
157162
u32 ats_attribute;
158163
u32 pci_segment_number;
164+
u8 memory_address_limit; /* Memory address size limit */
165+
u8 reserved[3]; /* Reserved, must be zero */
159166
};
160167

161168
/* Values for ats_attribute field above */
@@ -209,9 +216,7 @@ struct acpi_iort_smmu_v3 {
209216
u32 pri_gsiv;
210217
u32 gerr_gsiv;
211218
u32 sync_gsiv;
212-
u8 pxm;
213-
u8 reserved1;
214-
u16 reserved2;
219+
u32 pxm;
215220
u32 id_mapping_index;
216221
};
217222

@@ -224,7 +229,7 @@ struct acpi_iort_smmu_v3 {
224229
/* Masks for Flags field above */
225230

226231
#define ACPI_IORT_SMMU_V3_COHACC_OVERRIDE (1)
227-
#define ACPI_IORT_SMMU_V3_HTTU_OVERRIDE (1<<1)
232+
#define ACPI_IORT_SMMU_V3_HTTU_OVERRIDE (3<<1)
228233
#define ACPI_IORT_SMMU_V3_PXM_VALID (1<<3)
229234

230235
/*******************************************************************************

0 commit comments

Comments
 (0)