From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (NAM12-BN8-obe.outbound.protection.outlook.com [40.107.237.57]) by mx.groups.io with SMTP id smtpd.web11.8841.1617891432670664167 for ; Thu, 08 Apr 2021 07:17:13 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@vmware.com header.s=selector2 header.b=EbApcbjF; spf=pass (domain: vmware.com, ip: 40.107.237.57, mailfrom: awarkentin@vmware.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FNxcnRlQXJdM96d5bCC9cZ1K6n8bamSmpcPewl4SwGco0AcgCp8ZTkXiJX/YAoHiXPvDWVArrerjJ2d1GbSE4V8vP0XSpfqiWAJFfK8p0zC0y+h0Y7d8RetnAUBy8GOkOlJFYscGPKnHVToDfBgnmt5yTobC47cCLtgq6oiQAxpFoqqW/PqdKnrf0e5Dyr92TAcZFy+d3bGPVfJkth2ZT9zgRu02YZxcvjCUfB0Al94XdoZ43PEETH0GEymdQqCciULcpYWYFfjHQsPE8P1RUib0U8Vs1zd4gFK04jsQw4tTo/5hoZT4RLP41rgEomG4SO+870whmQ4a6Nsl1EJkUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P4CG/asFF64knBuE470FcNUHKZb1o/Yv1oQXqhIEC08=; b=GgmgjOY9wDI9QGjv8XFWVDznXTnzuRgcAvz4WQqWXj3uU2jIWa6btye7MChkcHx8KuOVdq0SgzDDf+WoMHMWBShNXFnrN9fzLN0SKa6m1hTcei7BgzceoGQQXmEFIoz/ehX1FCe3iCTOrERp7CyjaDMAFu0ogtC5DzhUKE3mo00pSlqs5I5+rNh6uE+edvR+Cz8mCszZ64oecCViB0+LImSy+yJSVcXIQzK3FfMNVxcvUqXSH73xSiFu390HbqKT/9oBhppTPPJt4n3nRgtnFH+EL5ZBbMX0i4FiSBAdhVHixfKrxw2wtt/XA+zzlKGCUNPS1B9YBFO7u+asP5VkGQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P4CG/asFF64knBuE470FcNUHKZb1o/Yv1oQXqhIEC08=; b=EbApcbjF2ebfOpOBqk7+L/n8TOH8vQ6TEd6qFJJweZ/pYx48+zIj03ZlW2ArUc4JWAAafAGJotzkkIvWoeLNnRP2kiNu1CeJl/9SOaRBpGloy1c8dzB+zYdqfDRZLYPYiEJobge+wpv+85O9cLa2I0XNfzxpgUQirLgx7rDx/w4= Received: from SN7PR05MB7582.namprd05.prod.outlook.com (2603:10b6:806:f7::16) by SA1PR05MB8000.namprd05.prod.outlook.com (2603:10b6:806:1a8::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.8; Thu, 8 Apr 2021 14:17:11 +0000 Received: from SN7PR05MB7582.namprd05.prod.outlook.com ([fe80::a199:b8b:c31a:cd0e]) by SN7PR05MB7582.namprd05.prod.outlook.com ([fe80::a199:b8b:c31a:cd0e%7]) with mapi id 15.20.4020.016; Thu, 8 Apr 2021 14:17:11 +0000 From: "Andrei Warkentin" To: Jeremy Linton , "devel@edk2.groups.io" CC: "ard.biesheuvel@arm.com" , "leif@nuviainc.com" , "pete@akeo.ie" , "samer.el-haj-mahmoud@arm.com" Subject: Re: [PATCH 2/3] Platform/RaspberryPi/AcpiTables: Add further named components Thread-Topic: [PATCH 2/3] Platform/RaspberryPi/AcpiTables: Add further named components Thread-Index: AQHXLDxFi7f6glmTQkqY3lNdMw8LhKqqqxlV Date: Thu, 8 Apr 2021 14:17:11 +0000 Message-ID: References: <20210408055843.2883563-1-jeremy.linton@arm.com>,<20210408055843.2883563-3-jeremy.linton@arm.com> In-Reply-To: <20210408055843.2883563-3-jeremy.linton@arm.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=vmware.com; x-originating-ip: [69.174.145.79] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 28220860-7d6c-45fb-f111-08d8fa990013 x-ms-traffictypediagnostic: SA1PR05MB8000: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3276; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 5r2uz2MgeiGN4dwZo/S6G8xKhh8hHMTWMMEcuhVg1NblQh/vzGilxGSWEoQQAgebH/hk31Kh/W9jBMpx4tG+WBpVtNulW6UyvQEsp3KF0mYA+ACYm4n49hEvyS4B7ZGsqE39/8sCF2hee0CA1L3lZoHKEV9xjFMRu61jBsKPZ7cBIT3zhsu76bmA6VQaSRK5qkyywh/PecwVclfIYIMdc6Gs8vaM4G4TvhFwminGQaEDgP7wN4nZUo//zdO6TwrCshyWv3sE5aSzqZjPoTHu/EhWuFd9sIaTQjBM5M0Us1upVAUll9+tQ9meTv2KW1Y5vS3+M9iZGdkd+u6FJS25QJ0RJYjNsNlf5dx3NZdNyUoowAEG+TgzSiLRfqaVyMlUsJCes1Cd7nkkUbLt8FIYbarJgBfHh8WmJ8ySp/mv2roKVRaUXDHIwGALqMYqgoVQ/d/dzIfd8r4/G9iLDgsw7tIct3egR7LqPcbdgJBcLOlhY3psbhDCOfLRE9l92+ivfY7PzsMKIIuGy6p1ihluhneAhh5Wi1QIIuIkLuifLuc8mlW0FAADDLzfp8sS/ALFjVzfe4JwqoM1YWxgPde4dZOm1GgkKC5bjFXllkLN7JjgIn4epFmemg3qMwudwjZ77VmDUnT9cXNSqdI2pf7cZu1lOf6eoTET4XJBu+zcsus= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR05MB7582.namprd05.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(346002)(39860400002)(396003)(136003)(366004)(33656002)(186003)(38100700001)(9686003)(91956017)(110136005)(54906003)(76116006)(83380400001)(26005)(19627405001)(53546011)(55016002)(71200400001)(52536014)(2906002)(6506007)(8676002)(8936002)(7696005)(66446008)(64756008)(66556008)(316002)(66946007)(66476007)(86362001)(478600001)(4326008)(5660300002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?KAZDdVD/Pkpn7bOhCC213OZlkvmCJ8KVMvOi1xzhzyNfdwzR+I8YrKvt1tZq?= =?us-ascii?Q?nnaWXEBiuuiqwSA/bb5AEzb5I41u6puoS2HI0WZkslyaXpnyX2O566g8fGfb?= =?us-ascii?Q?cXm6lwecHuYPmW0Cmnv7CzngN8uEgncDUqFYWkhWYOqHGOYjbt5jn6Uh8Bck?= =?us-ascii?Q?74aNPOIVRaP3sGoPNoVkug3PzaVvbrspPaaJQ6q1zIjyTLcLxDYtsyH3Yih2?= =?us-ascii?Q?v77wLEGIMbJ6PIP+8cCC6CNEWPCDLKpruh64MCfVgIDayH0hIRdF1vK0qQHZ?= =?us-ascii?Q?MqYlcFikLxIkx7JWOUqaETjmpPZtM98KqhwCpwozGjVGyah3VjQFj/DQ20zr?= =?us-ascii?Q?zUo7vAjXKRJHUTsQXdGfIWOhpVp6bXz7KcVW8dE3Lj8ps6ZsqBNu8lur1Mja?= =?us-ascii?Q?bxJaQB+mwJ9b5x0W+jlGUEmjWjjvx2OtzFWpxGVU3wRo/9j+XZpwHcIyja/N?= =?us-ascii?Q?I/ZsXO9vq3vY9X88wX/Hduyco7BzybWtSyRzKUsmindVn7I+IQQS5SkKnEVQ?= =?us-ascii?Q?aUhtYZBTY19sxXp5aFjfxLIxpkvY4pLa9Q5W5H/kX5c/64ju/oj+Qec54INs?= =?us-ascii?Q?Ja7rTTn51Wadb0GlbgCiKOiQwijmryD/wtRvrTUCAVSXvcJmrzo5v8H6LNcT?= =?us-ascii?Q?4RCy7zr4nZ5Ib342bBRwtC+MBWsLmJ44GDg8S5CCNlqDcHaMHy2WTK1CWcZ3?= =?us-ascii?Q?mfGJJq/IOYoEKdNYhdRi5QUXRV4jw6rApIcAyRv3jMjHAhfZS26ya3PNGp7v?= =?us-ascii?Q?LzUbknUZpwrQfCYJFfOoR2109Hw8/7gfvtBYM4PYjaph8P5a6KsaRh0EBsSN?= =?us-ascii?Q?BMHo5K9H/rdTiCt06boqEjdytrW+mIFttuN5G5CLHoiwRByE3Ny027ozzBPB?= =?us-ascii?Q?dZ040YWWKwCvjcM9n3fmXRQBnXkFi0SikKOOEnifAZr1q745R8SW1llPPxEt?= =?us-ascii?Q?Y76HYWDTaAfW8FBtwh4/yVn62CMZgOH9l1Xcvk+qvTQR/6R39rJl5vm8sYXm?= =?us-ascii?Q?HILtjic2cqUJYXhMGQCVKj5KTutxzMxFywZlMjYf7vfAo/WPCu4Ni1rz9+9W?= =?us-ascii?Q?nq3Gt+0ygMQIYCD9uxezIeZPQYUZv3AFw+Hbwqkkwe0xw3gkCjFKu4XxMs5o?= =?us-ascii?Q?F8V1e46buo78dqiciXfs7/7oxNqhm6KtQ6qZ97kmgW+HFWDyOAYjTx3cE/SI?= =?us-ascii?Q?rJTuNGHTAwVXFuDAm4t9nJ+MrewOKvmkrev0Xec6jzz5IDB+8tJ7cgg3d1uL?= =?us-ascii?Q?Pe0ue31jWIjIuNnzyixiaac2HJsUJ7LtCh4d2DSvHDojqmwcDkdrkGQc+0DD?= =?us-ascii?Q?xngZ5c6N0G7dJP2HWXfE0v91?= x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN7PR05MB7582.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 28220860-7d6c-45fb-f111-08d8fa990013 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Apr 2021 14:17:11.0555 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 8kWIT1ZkSzmviVz7jBrBWmf146m9fMxlmys5tBRIjyzKRufjIklcjoZ/qWbOJY3Ix8Xv2NQPIG0GP7NkN5U4KQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR05MB8000 Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_SN7PR05MB758201AD0F00E5F9255510CFB9749SN7PR05MB7582namp_" --_000_SN7PR05MB758201AD0F00E5F9255510CFB9749SN7PR05MB7582namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Andrei Warkentin ________________________________ From: Jeremy Linton Sent: Thursday, April 8, 2021 12:58 AM To: devel@edk2.groups.io Cc: ard.biesheuvel@arm.com ; leif@nuviainc.com ; pete@akeo.ie ; samer.el-haj-mahmoud@arm.com = ; Andrei Warkentin ; J= eremy Linton Subject: [PATCH 2/3] Platform/RaspberryPi/AcpiTables: Add further named com= ponents Add some additional IORT nodes for the USB & EMMC devices, realistically we probably only need to have a single node with the lowest AddressSizeLimi= t but this is conceptually "cleaner" should anyone actually try and use these values rather than the _DMA provided ones. Signed-off-by: Jeremy Linton --- Platform/RaspberryPi/AcpiTables/Iort.aslc | 44 +++++++++++++++++++++++++++= +++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/Platform/RaspberryPi/AcpiTables/Iort.aslc b/Platform/Raspberry= Pi/AcpiTables/Iort.aslc index 00720194bb..810307ae37 100644 --- a/Platform/RaspberryPi/AcpiTables/Iort.aslc +++ b/Platform/RaspberryPi/AcpiTables/Iort.aslc @@ -20,6 +20,8 @@ typedef struct { typedef struct { EFI_ACPI_6_0_IO_REMAPPING_TABLE Iort; RPI4_NC_NODE NamedCompNode; + RPI4_NC_NODE NamedCompNode2; + RPI4_NC_NODE NamedCompNode3; } RPI4_IO_REMAPPING_STRUCTURE; STATIC RPI4_IO_REMAPPING_STRUCTURE Iort =3D { @@ -27,7 +29,7 @@ STATIC RPI4_IO_REMAPPING_STRUCTURE Iort =3D { ACPI_HEADER (EFI_ACPI_6_0_IO_REMAPPING_TABLE_SIGNATURE, RPI4_IO_REMAPPING_STRUCTURE, EFI_ACPI_IO_REMAPPING_TABLE_REVISION), - 1, // NumNodes + 3, // NumNodes sizeof (EFI_ACPI_6_0_IO_REMAPPING_TABLE), // NodeOffset 0 // Reserved }, { @@ -50,6 +52,46 @@ STATIC RPI4_IO_REMAPPING_STRUCTURE Iort =3D { }, { "\\_SB_.SCB0.XHC0" // ObjectName } + }, { + // gpu/dwc usb named component node + { + { + EFI_ACPI_IORT_TYPE_NAMED_COMP, // Type + sizeof (RPI4_NC_NODE), // Length + 0x0, // Revision + 0x0, // Reserved + 0x0, // NumIdMappings + 0x0, // IdReference + }, + 0x0, // Flags + 0x0, // CacheCoherent + 0x0, // AllocationHints + 0x0, // Reserved + 0x0, // MemoryAccessFlags + 30, // AddressSizeLimit + }, { + "\\_SB_.GDV0.USB0" // ObjectName + } + }, { + // emmc2 named component node + { + { + EFI_ACPI_IORT_TYPE_NAMED_COMP, // Type + sizeof (RPI4_NC_NODE), // Length + 0x0, // Revision + 0x0, // Reserved + 0x0, // NumIdMappings + 0x0, // IdReference + }, + 0x0, // Flags + 0x0, // CacheCoherent + 0x0, // AllocationHints + 0x0, // Reserved + 0x0, // MemoryAccessFlags + 30, // AddressSizeLimit + }, { + "\\_SB_.GDV1.SDC3" // ObjectName + } } }; -- 2.13.7 --_000_SN7PR05MB758201AD0F00E5F9255510CFB9749SN7PR05MB7582namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
Reviewed-by: Andrei Warkentin <awarkentin@vmware.com>

From: Jeremy Linton <jer= emy.linton@arm.com>
Sent: Thursday, April 8, 2021 12:58 AM
To: devel@edk2.groups.io <devel@edk2.groups.io>
Cc: ard.biesheuvel@arm.com <ard.biesheuvel@arm.com>; leif@nuvi= ainc.com <leif@nuviainc.com>; pete@akeo.ie <pete@akeo.ie>; same= r.el-haj-mahmoud@arm.com <samer.el-haj-mahmoud@arm.com>; Andrei Warke= ntin <awarkentin@vmware.com>; Jeremy Linton <jeremy.linton@arm.com= >
Subject: [PATCH 2/3] Platform/RaspberryPi/AcpiTables: Add further na= med components
 
Add some additional IORT nodes for the USB & E= MMC devices, realistically
we probably only need to have a single node with the lowest AddressSizeLimi= t
but this is conceptually "cleaner" should anyone actually try and= use these
values rather than the _DMA provided ones.

Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
---
 Platform/RaspberryPi/AcpiTables/Iort.aslc | 44 ++++++++++++++++++++++= ++++++++-
 1 file changed, 43 insertions(+), 1 deletion(-)

diff --git a/Platform/RaspberryPi/AcpiTables/Iort.aslc b/Platform/Raspberry= Pi/AcpiTables/Iort.aslc
index 00720194bb..810307ae37 100644
--- a/Platform/RaspberryPi/AcpiTables/Iort.aslc
+++ b/Platform/RaspberryPi/AcpiTables/Iort.aslc
@@ -20,6 +20,8 @@ typedef struct {
 typedef struct {

   EFI_ACPI_6_0_IO_REMAPPING_TABLE      = Iort;

   RPI4_NC_NODE        &n= bsp;            = ;    NamedCompNode;

+  RPI4_NC_NODE         &= nbsp;           &nbs= p;   NamedCompNode2;

+  RPI4_NC_NODE         &= nbsp;           &nbs= p;   NamedCompNode3;

 } RPI4_IO_REMAPPING_STRUCTURE;

 

 STATIC RPI4_IO_REMAPPING_STRUCTURE Iort =3D {

@@ -27,7 +29,7 @@ STATIC RPI4_IO_REMAPPING_STRUCTURE Iort =3D {
     ACPI_HEADER (EFI_ACPI_6_0_IO_REMAPPING_TABLE_SIGNA= TURE,

            &nb= sp;     RPI4_IO_REMAPPING_STRUCTURE,

            &nb= sp;     EFI_ACPI_IO_REMAPPING_TABLE_REVISION),

-    1,         = ;            &n= bsp;            = ;            // NumN= odes

+    3,         = ;            &n= bsp;            = ;            // NumN= odes

     sizeof (EFI_ACPI_6_0_IO_REMAPPING_TABLE), &nb= sp;     // NodeOffset

     0        &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p; // Reserved

   }, {

@@ -50,6 +52,46 @@ STATIC RPI4_IO_REMAPPING_STRUCTURE Iort =3D {
     }, {

       "\\_SB_.SCB0.XHC0" &nbs= p;            &= nbsp;           &nbs= p; // ObjectName

     }

+  }, {

+    // gpu/dwc usb named component node

+    {

+      {

+        EFI_ACPI_IORT_TYPE_NAMED_COMP,&= nbsp;           &nbs= p; // Type

+        sizeof (RPI4_NC_NODE), &nb= sp;            =         // Length

+        0x0,    &nb= sp;            =             &nb= sp;          // Revision

+        0x0,    &nb= sp;            =             &nb= sp;          // Reserved

+        0x0,    &nb= sp;            =             &nb= sp;          // NumIdMappings<= br>
+        0x0,    &nb= sp;            =             &nb= sp;          // IdReference
+      },

+      0x0,      &nb= sp;            =             &nb= sp;          // Flags

+      0x0,      &nb= sp;            =             &nb= sp;          // CacheCoherent<= br>
+      0x0,      &nb= sp;            =             &nb= sp;          // AllocationHint= s

+      0x0,      &nb= sp;            =             &nb= sp;          // Reserved

+      0x0,      &nb= sp;            =             &nb= sp;          // MemoryAccessFl= ags

+      30,      &nbs= p;            &= nbsp;           &nbs= p;           // AddressSi= zeLimit

+    }, {

+      "\\_SB_.GDV0.USB0"  &nb= sp;            =              //= ObjectName

+    }

+  }, {

+    // emmc2 named component node

+    {

+      {

+        EFI_ACPI_IORT_TYPE_NAMED_COMP,&= nbsp;           &nbs= p; // Type

+        sizeof (RPI4_NC_NODE), &nb= sp;            =         // Length

+        0x0,    &nb= sp;            =             &nb= sp;          // Revision

+        0x0,    &nb= sp;            =             &nb= sp;          // Reserved

+        0x0,    &nb= sp;            =             &nb= sp;          // NumIdMappings<= br>
+        0x0,    &nb= sp;            =             &nb= sp;          // IdReference
+      },

+      0x0,      &nb= sp;            =             &nb= sp;          // Flags

+      0x0,      &nb= sp;            =             &nb= sp;          // CacheCoherent<= br>
+      0x0,      &nb= sp;            =             &nb= sp;          // AllocationHint= s

+      0x0,      &nb= sp;            =             &nb= sp;          // Reserved

+      0x0,      &nb= sp;            =             &nb= sp;          // MemoryAccessFl= ags

+      30,      &nbs= p;            &= nbsp;           &nbs= p;           // AddressSi= zeLimit

+    }, {

+      "\\_SB_.GDV1.SDC3"  &nb= sp;            =              //= ObjectName

+    }

   }

 };

 

--
2.13.7

--_000_SN7PR05MB758201AD0F00E5F9255510CFB9749SN7PR05MB7582namp_--