All of lore.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: 28+ 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-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 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.