**/\r
EFI_STATUS\r
IoMmuMap (\r
- IN EDKII_IOMMU_OPERATION Operation,\r
- IN VOID *HostAddress,\r
- IN OUT UINTN *NumberOfBytes,\r
- OUT EFI_PHYSICAL_ADDRESS *DeviceAddress,\r
- OUT VOID **Mapping\r
+ IN EDKII_IOMMU_OPERATION Operation,\r
+ IN VOID *HostAddress,\r
+ IN OUT UINTN *NumberOfBytes,\r
+ OUT EFI_PHYSICAL_ADDRESS *DeviceAddress,\r
+ OUT VOID **Mapping\r
)\r
{\r
EFI_STATUS Status;\r
if (EFI_ERROR (Status)) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
switch (Operation) {\r
- case EdkiiIoMmuOperationBusMasterRead:\r
- case EdkiiIoMmuOperationBusMasterRead64:\r
- Attribute = EDKII_IOMMU_ACCESS_READ;\r
- break;\r
- case EdkiiIoMmuOperationBusMasterWrite:\r
- case EdkiiIoMmuOperationBusMasterWrite64:\r
- Attribute = EDKII_IOMMU_ACCESS_WRITE;\r
- break;\r
- case EdkiiIoMmuOperationBusMasterCommonBuffer:\r
- case EdkiiIoMmuOperationBusMasterCommonBuffer64:\r
- Attribute = EDKII_IOMMU_ACCESS_READ | EDKII_IOMMU_ACCESS_WRITE;\r
- break;\r
- default:\r
- ASSERT(FALSE);\r
- return EFI_INVALID_PARAMETER;\r
+ case EdkiiIoMmuOperationBusMasterRead:\r
+ case EdkiiIoMmuOperationBusMasterRead64:\r
+ Attribute = EDKII_IOMMU_ACCESS_READ;\r
+ break;\r
+ case EdkiiIoMmuOperationBusMasterWrite:\r
+ case EdkiiIoMmuOperationBusMasterWrite64:\r
+ Attribute = EDKII_IOMMU_ACCESS_WRITE;\r
+ break;\r
+ case EdkiiIoMmuOperationBusMasterCommonBuffer:\r
+ case EdkiiIoMmuOperationBusMasterCommonBuffer64:\r
+ Attribute = EDKII_IOMMU_ACCESS_READ | EDKII_IOMMU_ACCESS_WRITE;\r
+ break;\r
+ default:\r
+ ASSERT (FALSE);\r
+ return EFI_INVALID_PARAMETER;\r
}\r
+\r
Status = mIoMmu->SetAttribute (\r
mIoMmu,\r
*Mapping,\r
}\r
} else {\r
*DeviceAddress = (EFI_PHYSICAL_ADDRESS)(UINTN)HostAddress;\r
- *Mapping = NULL;\r
- Status = EFI_SUCCESS;\r
+ *Mapping = NULL;\r
+ Status = EFI_SUCCESS;\r
}\r
+\r
return Status;\r
}\r
\r
**/\r
EFI_STATUS\r
IoMmuUnmap (\r
- IN VOID *Mapping\r
+ IN VOID *Mapping\r
)\r
{\r
EFI_STATUS Status;\r
} else {\r
Status = EFI_SUCCESS;\r
}\r
+\r
return Status;\r
}\r
\r
UINTN NumberOfBytes;\r
EFI_PHYSICAL_ADDRESS HostPhyAddress;\r
\r
- *HostAddress = NULL;\r
+ *HostAddress = NULL;\r
*DeviceAddress = 0;\r
\r
if (mIoMmu != NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- NumberOfBytes = EFI_PAGES_TO_SIZE(Pages);\r
- Status = mIoMmu->Map (\r
- mIoMmu,\r
- EdkiiIoMmuOperationBusMasterCommonBuffer,\r
- *HostAddress,\r
- &NumberOfBytes,\r
- DeviceAddress,\r
- Mapping\r
- );\r
+ NumberOfBytes = EFI_PAGES_TO_SIZE (Pages);\r
+ Status = mIoMmu->Map (\r
+ mIoMmu,\r
+ EdkiiIoMmuOperationBusMasterCommonBuffer,\r
+ *HostAddress,\r
+ &NumberOfBytes,\r
+ DeviceAddress,\r
+ Mapping\r
+ );\r
if (EFI_ERROR (Status)) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
Status = mIoMmu->SetAttribute (\r
mIoMmu,\r
*Mapping,\r
if (EFI_ERROR (Status)) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
- *HostAddress = (VOID *)(UINTN)HostPhyAddress;\r
+\r
+ *HostAddress = (VOID *)(UINTN)HostPhyAddress;\r
*DeviceAddress = HostPhyAddress;\r
- *Mapping = NULL;\r
+ *Mapping = NULL;\r
}\r
+\r
return Status;\r
}\r
\r
**/\r
EFI_STATUS\r
IoMmuFreeBuffer (\r
- IN UINTN Pages,\r
- IN VOID *HostAddress,\r
- IN VOID *Mapping\r
+ IN UINTN Pages,\r
+ IN VOID *HostAddress,\r
+ IN VOID *Mapping\r
)\r
{\r
EFI_STATUS Status;\r
} else {\r
Status = EFI_SUCCESS;\r
}\r
+\r
return Status;\r
}\r
\r
(VOID **)&mIoMmu\r
);\r
}\r
-\r