]> git.proxmox.com Git - mirror_edk2.git/commitdiff
OvmfPkg/PvScsiDxe: Enable MMIO-Space & Bus-Mastering in PCI attributes
authorLiran Alon <liran.alon@oracle.com>
Sat, 28 Mar 2020 20:00:53 +0000 (23:00 +0300)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Mon, 30 Mar 2020 16:45:07 +0000 (16:45 +0000)
Enable MMIO-Space & Bus-Mastering PCI attributes when device is started.
Note that original PCI attributes are restored when device is stopped.

Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2567
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Liran Alon <liran.alon@oracle.com>
Message-Id: <20200328200100.60786-11-liran.alon@oracle.com>
Reviewed-by: Nikita Leshenko <nikita.leshchenko@oracle.com>
OvmfPkg/PvScsiDxe/PvScsi.c

index 5566b4cce46725743ce2f2aa2981278a5ceac06c..531bed4e5ab7ebec94062f917442d7e50273d37d 100644 (file)
@@ -305,8 +305,18 @@ PvScsiSetPciAttributes (
   }\r
 \r
   //\r
-  // TODO: Change PCI Attributes\r
+  // Enable MMIO-Space & Bus-Mastering\r
   //\r
+  Status = Dev->PciIo->Attributes (\r
+                         Dev->PciIo,\r
+                         EfiPciIoAttributeOperationEnable,\r
+                         (EFI_PCI_IO_ATTRIBUTE_MEMORY |\r
+                          EFI_PCI_IO_ATTRIBUTE_BUS_MASTER),\r
+                         NULL\r
+                         );\r
+  if (EFI_ERROR (Status)) {\r
+    return Status;\r
+  }\r
 \r
   return EFI_SUCCESS;\r
 }\r