MdeModulePkg/NvmExpressDxe: enable 64-bit PCI DMA

PCI controller drivers must set the EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE
attribute if the controller supports 64-bit DMA addressing.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Feng Tian <feng.tian@Intel.com>
This commit is contained in:
Ard Biesheuvel 2016-09-05 09:51:32 +01:00
parent 167c3fb456
commit 4e28ea2c29
1 changed files with 13 additions and 0 deletions

View File

@ -862,6 +862,19 @@ NvmeControllerInit (
return Status;
}
//
// Enable 64-bit DMA support in the PCI layer.
//
Status = PciIo->Attributes (
PciIo,
EfiPciIoAttributeOperationEnable,
EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE,
NULL
);
if (EFI_ERROR (Status)) {
DEBUG ((EFI_D_WARN, "NvmeControllerInit: failed to enable 64-bit DMA (%r)\n", Status));
}
//
// Read the Controller Capabilities register and verify that the NVM command set is supported
//