103 size_t len,
size_t align ) {
137 size_t len,
size_t align ) {
170 op->set_mask (
dma, mask );
#define NULL
NULL pointer (VOID *)
#define assert(condition)
Assert a condition at run-time.
static void * dma_op_alloc(struct dma_device *dma, struct dma_mapping *map, size_t len, size_t align)
Allocate and map DMA-coherent buffer.
static void dma_op_free(struct dma_mapping *map, void *addr, size_t len)
Unmap and free DMA-coherent buffer.
static void dma_op_ufree(struct dma_mapping *map, void *addr, size_t len)
Unmap and free DMA-coherent buffer from external (user) memory.
static void dma_op_set_mask(struct dma_device *dma, physaddr_t mask)
Set addressable space mask.
static void dma_op_unmap(struct dma_mapping *map, size_t len)
Unmap buffer.
static int dma_op_map(struct dma_device *dma, struct dma_mapping *map, void *addr, size_t len, int flags)
Map buffer for DMA.
static void * dma_op_umalloc(struct dma_device *dma, struct dma_mapping *map, size_t len, size_t align)
Allocate and map DMA-coherent buffer from external (user) memory.
uint32_t addr
Buffer address.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define ENODEV
No such device.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
void dma_free(struct dma_mapping *map, void *addr, size_t len)
Unmap and free DMA-coherent buffer.
#define PROVIDE_DMAAPI(_subsys, _api_func, _func)
Provide a DMA I/O API implementation.
static __always_inline int struct dma_mapping * map
void dma_ufree(struct dma_mapping *map, void *addr, size_t len)
Unmap and free DMA-coherent buffer from external (user) memory.
void * dma_alloc(struct dma_device *dma, struct dma_mapping *map, size_t len, size_t align)
Allocate and map DMA-coherent buffer.
void dma_unmap(struct dma_mapping *map, size_t len)
Unmap buffer.
physaddr_t dma(struct dma_mapping *map, void *addr)
Get DMA address from virtual address.
void * dma_umalloc(struct dma_device *dma, struct dma_mapping *map, size_t len, size_t align)
Allocate and map DMA-coherent buffer from external (user) memory.
#define PROVIDE_DMAAPI_INLINE(_subsys, _api_func)
Provide a static inline DMA I/O API implementation.
void dma_set_mask(struct dma_device *dma, physaddr_t mask)
Set addressable space mask.
static uint16_t struct vmbus_xfer_pages_operations * op
physaddr_t mask
Addressable space mask.