]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Pci/NonDiscoverablePciDeviceDxe/NonDiscoverablePciDeviceDxe.c
MdeModulePkg/NonDiscoverablePciDeviceDxe: add support for non-coherent DMA
[mirror_edk2.git] / MdeModulePkg / Bus / Pci / NonDiscoverablePciDeviceDxe / NonDiscoverablePciDeviceDxe.c
index ee765d7a5d9c2422eb48ef0f26c2242c853bc03d..0fcf2b2ec1bf9ef9268c9e40d33bce66b7041433 100644 (file)
@@ -16,6 +16,8 @@
 \r
 #include <Protocol/DriverBinding.h>\r
 \r
+EFI_CPU_ARCH_PROTOCOL      *mCpu;\r
+\r
 //\r
 // We only support the following device types\r
 //\r
@@ -69,14 +71,7 @@ NonDiscoverablePciDeviceSupported (
     return Status;\r
   }\r
 \r
-  //\r
-  // Restricted to DMA coherent for now\r
-  //\r
   Status = EFI_UNSUPPORTED;\r
-  if (Device->DmaType != NonDiscoverableDeviceDmaTypeCoherent) {\r
-    goto CloseProtocol;\r
-  }\r
-\r
   for (Idx = 0; Idx < ARRAY_SIZE (SupportedNonDiscoverableDevices); Idx++) {\r
     if (CompareGuid (Device->Type, SupportedNonDiscoverableDevices [Idx])) {\r
       Status = EFI_SUCCESS;\r
@@ -224,6 +219,11 @@ NonDiscoverablePciDeviceDxeEntryPoint (
   IN EFI_SYSTEM_TABLE *SystemTable\r
   )\r
 {\r
+  EFI_STATUS      Status;\r
+\r
+  Status = gBS->LocateProtocol (&gEfiCpuArchProtocolGuid, NULL, (VOID **)&mCpu);\r
+  ASSERT_EFI_ERROR(Status);\r
+\r
   return EfiLibInstallDriverBindingComponentName2 (\r
            ImageHandle,\r
            SystemTable,\r