All of lore.kernel.org
 help / color / mirror / Atom feed
From: Erik Kaneda <erik.kaneda@intel.com>
To: "Rafael J . Wysocki" <rafael@kernel.org>,
	ACPI Devel Maling List <linux-acpi@vger.kernel.org>
Cc: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>,
	Bob Moore <robert.moore@intel.com>,
	Erik Kaneda <erik.kaneda@intel.com>
Subject: [PATCH v2 21/22] ACPICA: IORT: Updates for revision E.b
Date: Tue,  6 Apr 2021 14:30:27 -0700	[thread overview]
Message-ID: <20210406213028.718796-22-erik.kaneda@intel.com> (raw)
In-Reply-To: <20210406213028.718796-1-erik.kaneda@intel.com>

From: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>

ACPICA commit 8710a708faed728ea2672b8da842b2e9af1cf5bd

IORT revision E.b (ARM DEN 0049E.b) contains a few additions like,
    -Added an identifier field in the node descriptors to aid table
     cross-referencing.
    -Introduced the Reserved Memory Range(RMR) node. This is used
     to describe memory ranges that are used by endpoints and require
     a unity mapping in SMMU.
    -Introduced a flag in the RC node to express support for PRI.
    -Added a flag in the RC node to declare support for PASID forward
     information.

Please note that IORT Rev E and E.a have known issues and are not
supported.

Link: https://github.com/acpica/acpica/commit/8710a708
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
---
 include/acpi/actbl2.h | 26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h
index 8383446295a5..18cafe3ebddc 100644
--- a/include/acpi/actbl2.h
+++ b/include/acpi/actbl2.h
@@ -68,7 +68,7 @@
  * IORT - IO Remapping Table
  *
  * Conforms to "IO Remapping Table System Software on ARM Platforms",
- * Document number: ARM DEN 0049D, March 2018
+ * Document number: ARM DEN 0049E.b, Feb 2021
  *
  ******************************************************************************/
 
@@ -86,7 +86,7 @@ struct acpi_iort_node {
 	u8 type;
 	u16 length;
 	u8 revision;
-	u32 reserved;
+	u32 identifier;
 	u32 mapping_count;
 	u32 mapping_offset;
 	char node_data[1];
@@ -100,7 +100,8 @@ enum acpi_iort_node_type {
 	ACPI_IORT_NODE_PCI_ROOT_COMPLEX = 0x02,
 	ACPI_IORT_NODE_SMMU = 0x03,
 	ACPI_IORT_NODE_SMMU_V3 = 0x04,
-	ACPI_IORT_NODE_PMCG = 0x05
+	ACPI_IORT_NODE_PMCG = 0x05,
+	ACPI_IORT_NODE_RMR = 0x06,
 };
 
 struct acpi_iort_id_mapping {
@@ -167,10 +168,11 @@ struct acpi_iort_root_complex {
 	u8 reserved[3];		/* Reserved, must be zero */
 };
 
-/* Values for ats_attribute field above */
+/* Masks for ats_attribute field above */
 
-#define ACPI_IORT_ATS_SUPPORTED         0x00000001	/* The root complex supports ATS */
-#define ACPI_IORT_ATS_UNSUPPORTED       0x00000000	/* The root complex doesn't support ATS */
+#define ACPI_IORT_ATS_SUPPORTED         (1)	/* The root complex ATS support */
+#define ACPI_IORT_PRI_SUPPORTED         (1<<1)	/* The root complex PRI support */
+#define ACPI_IORT_PASID_FWD_SUPPORTED   (1<<2)	/* The root complex PASID forward support */
 
 struct acpi_iort_smmu {
 	u64 base_address;	/* SMMU base address */
@@ -241,6 +243,18 @@ struct acpi_iort_pmcg {
 	u64 page1_base_address;
 };
 
+struct acpi_iort_rmr {
+	u32 flags;
+	u32 rmr_count;
+	u32 rmr_offset;
+};
+
+struct acpi_iort_rmr_desc {
+	u64 base_address;
+	u64 length;
+	u32 reserved;
+};
+
 /*******************************************************************************
  *
  * IVRS - I/O Virtualization Reporting Structure
-- 
2.29.2


  parent reply	other threads:[~2021-04-06 22:05 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-06 21:30 [PATCH v2 00/22] ACPICA release 20210331 (ACPI 6.4 support) Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 01/22] ACPICA: Add parsing for IVRS IVHD 40h and device entry F0h Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 02/22] ACPICA: ACPI 6.4: Add new predefined objects _BPC, _BPS, and _BPT Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 03/22] ACPICA: ACPI 6.4: add USB4 capabilities UUID Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 04/22] ACPICA: ACPI 6.4: add CXL ACPI device ID and _CBR object Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 05/22] ACPICA: ACPI 6.4: MADT: add Multiprocessor Wakeup Structure Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 06/22] ACPICA: ACPI 6.4: PCCT: add support for subtable type 5 Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 07/22] ACPICA: ACPI 6.4: PPTT: add new version of subtable type 1 Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 08/22] ACPICA: Tree-wide: fix various typos and spelling mistakes Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 09/22] ACPICA: ACPI 6.4: NFIT: add Location Cookie field Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 10/22] ACPICA: ACPI 6.4: HMAT: add new fields/flags Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 11/22] ACPICA: ACPI 6.4: Add new flags in SRAT Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 12/22] ACPICA: ACPI 6.4: add SDEV secure access components Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 13/22] ACPICA: iASL: Add definitions for the VIOT table Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 14/22] ACPICA: CXL 2.0: CEDT: Add new CEDT table Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 15/22] ACPICA: ACPI 6.4: PMTT: add new fields/structures Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 16/22] ACPICA: ACPI 6.4: add CSI2Bus resource template Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 17/22] ACPICA: ACPI 6.4: add support for PHAT table Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 18/22] ACPICA: iASL: Add support for CEDT table Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 19/22] ACPICA: iASL: Decode subtable type field for VIOT Erik Kaneda
2021-04-06 21:30 ` [PATCH v2 20/22] ACPICA: acpisrc: Add missing conversion for VIOT support Erik Kaneda
2021-04-06 21:30 ` Erik Kaneda [this message]
2021-04-06 21:30 ` [PATCH v2 22/22] ACPICA: Update version to 20210331 Erik Kaneda
2021-04-07 17:11 ` [PATCH v2 00/22] ACPICA release 20210331 (ACPI 6.4 support) Rafael J. Wysocki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210406213028.718796-22-erik.kaneda@intel.com \
    --to=erik.kaneda@intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=robert.moore@intel.com \
    --cc=shameerali.kolothum.thodi@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.