On 23 September 2016 at 15:27, Jeremy Linton jeremy.linton@arm.com wrote:
On 09/23/2016 07:08 AM, Ard Biesheuvel wrote:
On 23 September 2016 at 09:02, Ard Biesheuvel ard.biesheuvel@linaro.org wrote:
On 23 September 2016 at 00:49, Daniil Egranov daniil.egranov@arm.com wrote:
Added NullDmaLib needed for ArmJunoPkg/Drivers/PciHostBridgeDxe with the fix for PCI DMA issue on Juno.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daniil Egranov daniil.egranov@arm.com
Platforms/ARM/Juno/ArmJuno.dsc | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index 751225a..4456ff6 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -52,6 +52,8 @@ # USB Requirements UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
- NullDmaLib|EmbeddedPkg/Library/NullDmaLib/NullDmaLib.inf
Is the PCI host bridge driver the only user of DmaLib on Juno? If not, are all other PCI bus masters coherent as well?
Looking at ArmJunoDxe, it seems that the PCI emulation for USB also uses this library. Are those DMA coherent on Juno?
The USB/EHCI controller is not coherent on Juno (its not PCIe attached). Of course if someone plugs say a XHCI controller in, that should be coherent.
Indeed. So this change would break the onboard EHCI/OHCI controllers (although the library class is called 'DmaLib' not 'NullDmaLib', so the patch does nothing as is.)