public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@rjwysocki.net>
To: Linux ACPI <linux-acpi@vger.kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>, Bob Moore <robert.moore@intel.com>
Subject: [PATCH 18/20] ACPICA: IORT: Updates for revision E.d
Date: Mon, 11 Apr 2022 21:02:33 +0200	[thread overview]
Message-ID: <44610361.fMDQidcC6G@kreacher> (raw)
In-Reply-To: <5578328.DvuYhMxLoT@kreacher>

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

ACPICA commit 87a2e39b8abdfedfb86b0a105708e37e895becd9

IORT revision is now updated to E.d (ARM DEN 0049E.d) and
contains a few additions like,
    -Added descriptor in the root complex node for specifying
     PASID width supported by the root complex.
    -Updated RMR node Flags field.
    -Introduced memory access attributes in the RMR node.

Please note that IORT Rev E.c is deprecated and not supported.

Link: https://github.com/acpica/acpica/commit/87a2e39b
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 include/acpi/actbl2.h |   27 +++++++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)

Index: linux-pm/include/acpi/actbl2.h
===================================================================
--- linux-pm.orig/include/acpi/actbl2.h
+++ linux-pm/include/acpi/actbl2.h
@@ -357,7 +357,7 @@ struct acpi_table_bdat {
  * IORT - IO Remapping Table
  *
  * Conforms to "IO Remapping Table System Software on ARM Platforms",
- * Document number: ARM DEN 0049E.b, Feb 2021
+ * Document number: ARM DEN 0049E.d, Feb 2022
  *
  ******************************************************************************/
 
@@ -454,7 +454,8 @@ struct acpi_iort_root_complex {
 	u32 ats_attribute;
 	u32 pci_segment_number;
 	u8 memory_address_limit;	/* Memory address size limit */
-	u8 reserved[3];		/* Reserved, must be zero */
+	u16 pasid_capabilities;	/* PASID Capabilities */
+	u8 reserved[1];		/* Reserved, must be zero */
 };
 
 /* Masks for ats_attribute field above */
@@ -463,6 +464,9 @@ struct acpi_iort_root_complex {
 #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 */
 
+/* Masks for pasid_capabilities field above */
+#define ACPI_IORT_PASID_MAX_WIDTH       (0x1F)	/* Bits 0-4 */
+
 struct acpi_iort_smmu {
 	u64 base_address;	/* SMMU base address */
 	u64 span;		/* Length of memory range */
@@ -538,6 +542,25 @@ struct acpi_iort_rmr {
 	u32 rmr_offset;
 };
 
+/* Masks for Flags field above */
+#define ACPI_IORT_RMR_REMAP_PERMITTED      (1)
+#define ACPI_IORT_RMR_ACCESS_PRIVILEGE     (1<<1)
+
+/*
+ * Macro to access the Access Attributes in flags field above:
+ *  Access Attributes is encoded in bits 9:2
+ */
+#define ACPI_IORT_RMR_ACCESS_ATTRIBUTES(flags)          (((flags) >> 2) & 0xFF)
+
+/* Values for above Access Attributes */
+
+#define ACPI_IORT_RMR_ATTR_DEVICE_NGNRNE   0x00
+#define ACPI_IORT_RMR_ATTR_DEVICE_NGNRE    0x01
+#define ACPI_IORT_RMR_ATTR_DEVICE_NGRE     0x02
+#define ACPI_IORT_RMR_ATTR_DEVICE_GRE      0x03
+#define ACPI_IORT_RMR_ATTR_NORMAL_NC       0x04
+#define ACPI_IORT_RMR_ATTR_NORMAL_IWB_OWB  0x05
+
 struct acpi_iort_rmr_desc {
 	u64 base_address;
 	u64 length;




  parent reply	other threads:[~2022-04-11 19:04 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-11 18:46 [PATCH 00/20] ACPICA: ACPICA 20220331 Rafael J. Wysocki
2022-04-11 18:47 ` [PATCH 01/20] ACPICA: Add support for the Windows 11 _OSI string Rafael J. Wysocki
2022-04-11 18:47 ` [PATCH 02/20] ACPICA: Add the subtable CFMWS to the CEDT table Rafael J. Wysocki
2022-04-11 18:48 ` [PATCH 03/20] ACPICA: iASL: NHLT: Treat Terminator as specific_config Rafael J. Wysocki
2022-04-11 18:49 ` [PATCH 04/20] ACPICA: iASL: NHLT: Fix parsing undocumented bytes at the end of Endpoint Descriptor Rafael J. Wysocki
2022-04-11 18:50 ` [PATCH 05/20] ACPICA: iASL: NHLT: Rename linux specific strucures to device_info Rafael J. Wysocki
2022-04-11 18:51 ` [PATCH 06/20] ACPICA: Add new ACPI 6.4 semantics to the Load() operator Rafael J. Wysocki
2022-04-11 18:52 ` [PATCH 07/20] ACPICA: Add new ACPI 6.4 semantics for LoadTable() operator Rafael J. Wysocki
2022-04-11 18:53 ` [PATCH 08/20] ACPICA: Clean up double word in comment Rafael J. Wysocki
2022-04-11 18:54 ` [PATCH 09/20] ACPICA: Update copyright notices to the year 2022 Rafael J. Wysocki
2022-04-11 18:55 ` [PATCH 10/20] ACPICA: Removed some tabs and // comments Rafael J. Wysocki
2022-04-11 18:56 ` [PATCH 11/20] ACPICA: Headers: Replace zero-length array with flexible-array member Rafael J. Wysocki
2022-04-11 18:57 ` [PATCH 12/20] ACPICA: executer/exsystem: Add units to time variable names Rafael J. Wysocki
2022-04-11 18:58 ` [PATCH 13/20] ACPICA: Add support for ARM Performance Monitoring Unit Table Rafael J. Wysocki
2022-04-11 18:59 ` [PATCH 14/20] ACPICA: executer/exsystem: Inform users about ACPI spec violation Rafael J. Wysocki
2022-04-12  2:53   ` kernel test robot
2022-04-12 12:47     ` Rafael J. Wysocki
2022-04-11 18:59 ` [PATCH 15/20] ACPICA: executer/exsystem: Warn about sleeps greater than 10 ms Rafael J. Wysocki
2022-04-12  5:22   ` kernel test robot
2022-05-21 16:11   ` Rafael J. Wysocki
2022-05-21 23:28     ` Paul Menzel
2022-06-14 13:25       ` Rafael J. Wysocki
2022-04-11 19:00 ` [PATCH 16/20] ACPICA: iASL/MADT: Add OEM-defined subtable Rafael J. Wysocki
2022-04-11 19:01 ` [PATCH 17/20] ACPICA: executer/exsystem: Fix some typo mistakes Rafael J. Wysocki
2022-04-11 19:02 ` Rafael J. Wysocki [this message]
2022-04-11 19:03 ` [PATCH 19/20] ACPICA: exsystem.c: Use ACPI_FORMAT_UINT64 for 64-bit output Rafael J. Wysocki
2022-04-11 19:04 ` [PATCH 20/20] ACPICA: Update version to 20220331 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=44610361.fMDQidcC6G@kreacher \
    --to=rjw@rjwysocki.net \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robert.moore@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox