X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=EmbeddedPkg%2FInclude%2FLibrary%2FDmaLib.h;h=3814291c2875a26e34db78f6c8a1b168d56a112c;hp=6e876dd26ab04b8b110cfd4895371454d7b04071;hb=3402aac7d985bf8a9f9d3c639f3fe93609380513;hpb=62d441fb17d59958bf00c4a1f3b52bf6a0b40b24 diff --git a/EmbeddedPkg/Include/Library/DmaLib.h b/EmbeddedPkg/Include/Library/DmaLib.h index 6e876dd26a..3814291c28 100755 --- a/EmbeddedPkg/Include/Library/DmaLib.h +++ b/EmbeddedPkg/Include/Library/DmaLib.h @@ -1,13 +1,13 @@ /** @file DMA abstraction library APIs. Based on UEFI PCI IO protocol DMA abstractions. - At some point these functions will probably end up in a non PCI protocol + At some point these functions will probably end up in a non PCI protocol for embedded systems. DMA Bus Master Read Operation: - Call DmaMap() for MapOperationBusMasterRead. - Program the DMA Bus Master with the DeviceAddress returned by DmaMap(). - Start the DMA Bus Master. - Wait for DMA Bus Master to complete the read operation. + Call DmaMap() for MapOperationBusMasterRead. + Program the DMA Bus Master with the DeviceAddress returned by DmaMap(). + Start the DMA Bus Master. + Wait for DMA Bus Master to complete the read operation. Call DmaUnmap(). DMA Bus Master Write Operation: @@ -18,11 +18,11 @@ Call DmaUnmap(). DMA Bus Master Common Buffer Operation: - Call DmaAllocateBuffer() to allocate a common buffer. - Call DmaMap() for MapOperationBusMasterCommonBuffer. - Program the DMA Bus Master with the DeviceAddress returned by DmaMap(). - The common buffer can now be accessed equally by the processor and the DMA bus master. - Call DmaUnmap(). + Call DmaAllocateBuffer() to allocate a common buffer. + Call DmaMap() for MapOperationBusMasterCommonBuffer. + Program the DMA Bus Master with the DeviceAddress returned by DmaMap(). + The common buffer can now be accessed equally by the processor and the DMA bus master. + Call DmaUnmap(). Call DmaFreeBuffer(). Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.
@@ -60,25 +60,25 @@ typedef enum { -/** +/** Provides the DMA controller-specific addresses needed to access system memory. - + Operation is relative to the DMA bus master. - + @param Operation Indicates if the bus master is going to read or write to system memory. @param HostAddress The system memory address to map to the DMA controller. @param NumberOfBytes On input the number of bytes to map. On output the number of bytes - that were mapped. + that were mapped. @param DeviceAddress The resulting map address for the bus master controller to use to - access the hosts HostAddress. + access the hosts HostAddress. @param Mapping A resulting value to pass to DmaUnmap(). - + @retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes. - @retval EFI_UNSUPPORTED The HostAddress cannot be mapped as a common buffer. + @retval EFI_UNSUPPORTED The HostAddress cannot be mapped as a common buffer. @retval EFI_INVALID_PARAMETER One or more parameters are invalid. @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. @retval EFI_DEVICE_ERROR The system hardware could not map the requested address. - + **/ EFI_STATUS EFIAPI @@ -93,15 +93,15 @@ DmaMap ( -/** +/** Completes the DmaMapBusMasterRead, DmaMapBusMasterWrite, or DmaMapBusMasterCommonBuffer operation and releases any corresponding resources. - + @param Mapping The mapping value returned from DmaMap(). - + @retval EFI_SUCCESS The range was unmapped. @retval EFI_DEVICE_ERROR The data was not committed to the target system memory. - + **/ EFI_STATUS EFIAPI @@ -110,22 +110,22 @@ DmaUnmap ( ); -/** +/** Allocates pages that are suitable for an DmaMap() of type MapOperationBusMasterCommonBuffer. - mapping. - + mapping. + @param MemoryType The type of memory to allocate, EfiBootServicesData or - EfiRuntimeServicesData. - @param Pages The number of pages to allocate. + EfiRuntimeServicesData. + @param Pages The number of pages to allocate. @param HostAddress A pointer to store the base system memory address of the - allocated range. + allocated range. @retval EFI_SUCCESS The requested memory pages were allocated. @retval EFI_UNSUPPORTED Attributes is unsupported. The only legal attribute bits are - MEMORY_WRITE_COMBINE and MEMORY_CACHED. + MEMORY_WRITE_COMBINE and MEMORY_CACHED. @retval EFI_INVALID_PARAMETER One or more parameters are invalid. - @retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated. - + @retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated. + **/ EFI_STATUS EFIAPI @@ -136,16 +136,16 @@ DmaAllocateBuffer ( ); -/** +/** Frees memory that was allocated with DmaAllocateBuffer(). - - @param Pages The number of pages to free. - @param HostAddress The base system memory address of the allocated range. - + + @param Pages The number of pages to free. + @param HostAddress The base system memory address of the allocated range. + @retval EFI_SUCCESS The requested memory pages were freed. @retval EFI_INVALID_PARAMETER The memory range specified by HostAddress and Pages was not allocated with DmaAllocateBuffer(). - + **/ EFI_STATUS EFIAPI @@ -155,5 +155,5 @@ DmaFreeBuffer ( ); -#endif +#endif