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 AF5791A2073 for ; Fri, 23 Sep 2016 14:47:12 -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 38B3014; Fri, 23 Sep 2016 14:47:12 -0700 (PDT) Received: from [192.168.236.128] (unknown [10.118.32.28]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A26653F251; Fri, 23 Sep 2016 14:47:11 -0700 (PDT) To: Ard Biesheuvel References: <1474583581-41663-1-git-send-email-daniil.egranov@arm.com> <1474583581-41663-2-git-send-email-daniil.egranov@arm.com> Cc: "edk2-devel@lists.01.org" , Leif Lindholm From: Daniil Egranov Message-ID: Date: Fri, 23 Sep 2016 16:47:10 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: Subject: Re: [PATCH 1/2] ArmPlatformPkg/ArmJunoPkg/Drivers/PciHostBridgeDxe: Remove calls to ArmDmaLib 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: Fri, 23 Sep 2016 21:47:12 -0000 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit On 09/23/2016 11:21 AM, Ard Biesheuvel wrote: > On 23 September 2016 at 17:20, Daniil Egranov wrote: >> Hi Ard, >> >> >> On 09/23/2016 02:57 AM, Ard Biesheuvel wrote: >>> Hi Daniil, >>> >>> On 22 September 2016 at 23:33, Daniil Egranov >>> wrote: >>>> The PCI on Juno is DMA coherent, which means it should not be >>>> using ArmDmaLib for PCI DMA. >>>> >>>> Contributed-under: TianoCore Contribution Agreement 1.0 >>>> Signed-off-by: Daniil Egranov >>>> --- >>>> ArmPlatformPkg/ArmJunoPkg/Drivers/PciHostBridgeDxe/PciHostBridgeDxe.inf >>>> | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git >>>> a/ArmPlatformPkg/ArmJunoPkg/Drivers/PciHostBridgeDxe/PciHostBridgeDxe.inf >>>> b/ArmPlatformPkg/ArmJunoPkg/Drivers/PciHostBridgeDxe/PciHostBridgeDxe.inf >>>> index de28c80..597154c 100644 >>>> --- >>>> a/ArmPlatformPkg/ArmJunoPkg/Drivers/PciHostBridgeDxe/PciHostBridgeDxe.inf >>>> +++ >>>> b/ArmPlatformPkg/ArmJunoPkg/Drivers/PciHostBridgeDxe/PciHostBridgeDxe.inf >>>> @@ -36,7 +36,7 @@ >>>> MemoryAllocationLib >>>> DxeServicesTableLib >>>> CacheMaintenanceLib >>>> - DmaLib >>>> + NullDmaLib >>>> >>> This is wrong. The module .inf lists library *classes* and the >>> platform .dsc decides how each class maps onto an implementation (aka >>> library resolution) >> Agree. However, this is platform specific module and as i understand, the >> behavior of it will not change so, I think, having NullDmaLib here will be >> appropriate as well. We can move it to .dsc file, if it fits better to the >> platform description/module dependencies structure. >> > What you could do is remove the DmaLib dependency altogether, and just > implement PciIo->Map and PciIo->Unmap directly, and always return the > host address. This implementation will be almost the same as NullDmaLib one :). If you think it will be better structure-wise to remap it in .dsc file, let's go this path and disregard this patch. > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel