From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com (foss.arm.com [217.140.101.70]) by ml01.01.org (Postfix) with ESMTP id B7A6D1A1FF9 for ; Thu, 22 Sep 2016 15:33:51 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A368814F; Thu, 22 Sep 2016 15:33:51 -0700 (PDT) Received: from usa.arm.com (unknown [10.118.32.28]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 6B3963F21A; Thu, 22 Sep 2016 15:33:51 -0700 (PDT) From: Daniil Egranov To: edk2-devel@lists.01.org Cc: leif.lindholm@linaro.org, Daniil Egranov Date: Thu, 22 Sep 2016 17:33:01 -0500 Message-Id: <1474583581-41663-3-git-send-email-daniil.egranov@arm.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1474583581-41663-1-git-send-email-daniil.egranov@arm.com> References: <1474583581-41663-1-git-send-email-daniil.egranov@arm.com> Subject: [PATCH 2/2] ArmPlatformPkg/ArmJunoPkg/Drivers/PciHostBridgeDxe: Fix for PCI Dual Address Cycle X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Sep 2016 22:33:51 -0000 The fix handles the PCI Dual Address Cycle Attribute case. It allows drivers using PCI DAC run on Juno. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daniil Egranov --- .../ArmJunoPkg/Drivers/PciHostBridgeDxe/PciRootBridge.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ArmPlatformPkg/ArmJunoPkg/Drivers/PciHostBridgeDxe/PciRootBridge.c b/ArmPlatformPkg/ArmJunoPkg/Drivers/PciHostBridgeDxe/PciRootBridge.c index 10a4575..72d0915 100644 --- a/ArmPlatformPkg/ArmJunoPkg/Drivers/PciHostBridgeDxe/PciRootBridge.c +++ b/ArmPlatformPkg/ArmJunoPkg/Drivers/PciHostBridgeDxe/PciRootBridge.c @@ -518,11 +518,14 @@ PciRbMap ( PCI_TRACE ("PciRbMap()"); - if (Operation == EfiPciOperationBusMasterRead) { + if (Operation == EfiPciOperationBusMasterRead || + Operation == EfiPciOperationBusMasterRead64) { DmaOperation = MapOperationBusMasterRead; - } else if (Operation == EfiPciOperationBusMasterWrite) { + } else if (Operation == EfiPciOperationBusMasterWrite || + Operation == EfiPciOperationBusMasterWrite64) { DmaOperation = MapOperationBusMasterWrite; - } else if (Operation == EfiPciOperationBusMasterCommonBuffer) { + } else if (Operation == EfiPciOperationBusMasterCommonBuffer || + Operation == EfiPciOperationBusMasterCommonBuffer64) { DmaOperation = MapOperationBusMasterCommonBuffer; } else { return EFI_INVALID_PARAMETER; -- 2.7.4