From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (NAM10-DM6-obe.outbound.protection.outlook.com [40.107.93.51]) by mx.groups.io with SMTP id smtpd.web08.4196.1657313927181869771 for ; Fri, 08 Jul 2022 13:58:47 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@nvidia.com header.s=selector2 header.b=VejEX3NK; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: nvidia.com, ip: 40.107.93.51, mailfrom: jbrasen@nvidia.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eGsNc66fb763/E2S25qNvI5rn/AQktxq1erV+b1mAjR1QKplnIvfRulwA5evfKSNIywBP3ACGXxBOztwtIDiiBqTzILX7IJnEl6YpNqOrFPXUawWW9vnCAJ8f/ZPx3P4HrtWVejW53PjlguAso9JJIycjm5FWg/VjyoVbZnGmlY6n5AiKIPmh4Xk8sEjrcyRIMsSLmAK+Ksy0imVdq8Ote4AuGRyeUuQ96aRGSLaDpstNimX4+/3m9yjD3VaIM5yvkfpoDH4uGl8UyGWLJ1wvHNTnSVu6hcKzm08va/wiTwRuI2mK+pg9TJS5o38EOR+Q3ShpVmH3N9axwOx2DQfuA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=MjjxvJTNL0sXW+Bjdw2xGbkdZJgSg5iSJZiVnk5iJis=; b=cvw/UfVTxsn6vbEM08qFunSxLCoE+Xhx1APVj4j1VGu91WD0PEHoc51OcOZrtGsKK9cOabJX7GbIrDSXlclPg/Aa8RiHhfuvz8RHswKrUj9ZeCPeF54ARrdzZv7KjbtC/5sGxLVDuCstRmU6FxLzc3o8wvXdI3A30XXP0avkD/aukGXOhOHRMLR5cpPjPxEeOtuWfhZtYsGnS28puXVywV8Qo6g4uy7BerpCcxH1sbPbndn8+A2g4yKJxdltLspkQTcGfn98e0n5K4qEHCu6muaA/V/WprWdvqwlbjPy1UmOUKMRPbHhmvMSAgKkAb2rEx8UioRdPq+fbSKefTIy7w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.235) smtp.rcpttodomain=arm.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MjjxvJTNL0sXW+Bjdw2xGbkdZJgSg5iSJZiVnk5iJis=; b=VejEX3NKdxrteqOwRv1Oc0q/7+0n1JDeTLzvgebklfNpMOq0S9yaES9TSv5t08PNECOo6zO8Rsu90DGqa4dvV4BKy6fQqgdgbLmHKhBwfobJsrV4Y8omzvhHo1z4Kw3gvaiVqXTwFPJ0yQcmajSiY/13UEmYwd79t119MOtHVXCM7/2fVs2IxcRKMMa5fS4UF8+FHepFblZUez6oM155m6lxqyU/MI/F2QBMdo+2WTCFwOz0JNbusEBVc3WxHQjQpm6IoZjr/h+2mtzPvBqEsIhmEO0RVlzMB4Vm6RPsjyHWkJaoN8JBUl4df4CZNoV/61CX4QXDiZ8AnssmJTrKzA== Received: from BN0PR04CA0064.namprd04.prod.outlook.com (2603:10b6:408:ea::9) by BY5PR12MB4950.namprd12.prod.outlook.com (2603:10b6:a03:1d9::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.20; Fri, 8 Jul 2022 20:58:43 +0000 Received: from BN8NAM11FT054.eop-nam11.prod.protection.outlook.com (2603:10b6:408:ea:cafe::72) by BN0PR04CA0064.outlook.office365.com (2603:10b6:408:ea::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.20 via Frontend Transport; Fri, 8 Jul 2022 20:58:43 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.235) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 12.22.5.235 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.235; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (12.22.5.235) by BN8NAM11FT054.mail.protection.outlook.com (10.13.177.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.5417.15 via Frontend Transport; Fri, 8 Jul 2022 20:58:43 +0000 Received: from rnnvmail203.nvidia.com (10.129.68.9) by DRHQMAIL107.nvidia.com (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.32; Fri, 8 Jul 2022 20:58:42 +0000 Received: from rnnvmail205.nvidia.com (10.129.68.10) by rnnvmail203.nvidia.com (10.129.68.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.26; Fri, 8 Jul 2022 13:58:41 -0700 Received: from perses.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.10) with Microsoft SMTP Server id 15.2.986.26 via Frontend Transport; Fri, 8 Jul 2022 13:58:41 -0700 From: "Jeff Brasen" To: , CC: , , Jeff Brasen Subject: [PATCH v3 1/3] DynamicTablesPkg: AcpiSsdtPcieLibArm: Correct translation value Date: Fri, 8 Jul 2022 14:59:01 -0600 Message-ID: <9cbfc2c4fdca71cd042cda4dcec1a029e767141a.1657313523.git.jbrasen@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-NVConfidentiality: public Return-Path: jbrasen@nvidia.com X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4dafba0d-f76d-45d6-a00e-08da6124a497 X-MS-TrafficTypeDiagnostic: BY5PR12MB4950:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: iABeb3/XIP1l/JvGFLMbXSGxKnlRNTUiDwrD4+DQrrhWBcYTKPjMgV4Hh9F3Up7JLXMX6oPAY1+d+JCXih4CUyTIZwI1AWmlOaY6w8652rz/lLAaHy8m/NT6IpIZy7L3PS3XTHetUTuC41oOFMSlT8AyeZXvFw1RrDxG73QIgpm7LjIU1uD5Tq8AMwfdOD0pREvtvxCM0K0FjwSYzAooEJg3jC3Hvsh6yKzEE0wfJKBxKZmMsjvspsSymSfbFeNSKE2VgDK7lCrZCDjG2FCZfy1Qez4T3CEO0okJF3u7Hs23T5oNF63jaAgz1VsgdXAvVTPCrr4MWtdNYwUzrJOA7uqjgC/D/wSDNhBn7yr7nkhwqdN204vBu46mR5vNkiPvULa4r2Ge4/oFa2YOsYAyv6Ok3d1mCJzcAM92GAEwiP2OpP4FuLF2wZI5MdZ+UdOVKsMgO1+mQGjdD6kyOGMdwFMj8i2IuWSjAp9LDQBRGYOSnvAHuLkuXBkdVlq1UaR6pn9B0H1Gh554uia25uZHzixEbvARif0rGuBVwLuTZkChGUbq71GAaps7CqcREP8VILHGj+I8OqYEUgSpdCBp8X/M3LEJlXjSeg8c8oyQDqIAoa4/0eIRsuZlJIndWKwnud/j+TBcVyyyStn1P7EySeUAPqdcJTqEZsKQbtxTD+MMqda4HbNXIJDDqiYCDb1X9JrkuDWvLbcaFQxv1vOMtREiX3aXpjd1rIc+zsFr8JfCevZ4zhm74Q7/4WtNN3BL9uTQ4wtnfD0j6xe5pGhbiMK1YMA/hlGKVs2Er4M068HT9qHyq0RLOAGicBn3wcs8W89FiCpM8wwCN8p8r0rCijdsyABvadlEIanv78sioqjyDPgGrrOANQYG2zopljsp X-Forefront-Antispam-Report: CIP:12.22.5.235;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:InfoNoRecords;CAT:NONE;SFS:(13230016)(4636009)(396003)(136003)(39860400002)(346002)(376002)(40470700004)(46966006)(36840700001)(336012)(7696005)(426003)(82740400003)(86362001)(41300700001)(110136005)(356005)(82310400005)(6666004)(4326008)(2906002)(47076005)(107886003)(2616005)(40480700001)(186003)(83380400001)(70586007)(70206006)(26005)(478600001)(316002)(8676002)(36756003)(36860700001)(40460700003)(5660300002)(81166007)(54906003)(8936002)(213903007)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2022 20:58:43.2745 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4dafba0d-f76d-45d6-a00e-08da6124a497 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[12.22.5.235];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT054.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4950 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain The translation value in ACPI should be the difference between the CPU and = PCIe address.=0D =0D Signed-off-by: Jeff Brasen =0D ---=0D .../Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.c | 18 ++++++++++++------=0D 1 file changed, 12 insertions(+), 6 deletions(-)=0D =0D diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieG= enerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieG= enerator.c=0D index a34018151f..d4c5f47b07 100644=0D --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerato= r.c=0D +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerato= r.c=0D @@ -540,6 +540,7 @@ GeneratePciCrs (=0D UINT32 RefCount;=0D CM_ARM_PCI_ADDRESS_MAP_INFO *AddrMapInfo;=0D AML_OBJECT_NODE_HANDLE CrsNode;=0D + BOOLEAN IsPosDecode;=0D =0D ASSERT (Generator !=3D NULL);=0D ASSERT (CfgMgrProtocol !=3D NULL);=0D @@ -609,6 +610,11 @@ GeneratePciCrs (=0D }=0D =0D Translation =3D (AddrMapInfo->CpuAddress !=3D AddrMapInfo->PciAddress)= ;=0D + if (AddrMapInfo->CpuAddress >=3D AddrMapInfo->PciAddress) {=0D + IsPosDecode =3D TRUE;=0D + } else {=0D + IsPosDecode =3D FALSE;=0D + }=0D =0D switch (AddrMapInfo->SpaceCode) {=0D case PCI_SS_IO:=0D @@ -616,12 +622,12 @@ GeneratePciCrs (=0D FALSE,=0D TRUE,=0D TRUE,=0D - TRUE,=0D + IsPosDecode,=0D 3,=0D 0,=0D AddrMapInfo->PciAddress,=0D AddrMapInfo->PciAddress + AddrMapInfo->AddressSize - 1,= =0D - Translation ? AddrMapInfo->CpuAddress : 0,=0D + Translation ? AddrMapInfo->CpuAddress - AddrMapInfo->Pc= iAddress : 0,=0D AddrMapInfo->AddressSize,=0D 0,=0D NULL,=0D @@ -635,7 +641,7 @@ GeneratePciCrs (=0D case PCI_SS_M32:=0D Status =3D AmlCodeGenRdDWordMemory (=0D FALSE,=0D - TRUE,=0D + IsPosDecode,=0D TRUE,=0D TRUE,=0D TRUE,=0D @@ -643,7 +649,7 @@ GeneratePciCrs (=0D 0,=0D AddrMapInfo->PciAddress,=0D AddrMapInfo->PciAddress + AddrMapInfo->AddressSize - 1,= =0D - Translation ? AddrMapInfo->CpuAddress : 0,=0D + Translation ? AddrMapInfo->CpuAddress - AddrMapInfo->Pc= iAddress : 0,=0D AddrMapInfo->AddressSize,=0D 0,=0D NULL,=0D @@ -657,7 +663,7 @@ GeneratePciCrs (=0D case PCI_SS_M64:=0D Status =3D AmlCodeGenRdQWordMemory (=0D FALSE,=0D - TRUE,=0D + IsPosDecode,=0D TRUE,=0D TRUE,=0D TRUE,=0D @@ -665,7 +671,7 @@ GeneratePciCrs (=0D 0,=0D AddrMapInfo->PciAddress,=0D AddrMapInfo->PciAddress + AddrMapInfo->AddressSize - 1,= =0D - Translation ? AddrMapInfo->CpuAddress : 0,=0D + Translation ? AddrMapInfo->CpuAddress - AddrMapInfo->Pc= iAddress : 0,=0D AddrMapInfo->AddressSize,=0D 0,=0D NULL,=0D -- =0D 2.25.1=0D =0D