Something went wrong. Try again.
Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note *//* * DMABUF Heaps Userspace API * * Copyright (C) 2011 Google, Inc. * Copyright (C) 2019 Linaro Ltd. */#ifndef _UAPI_LINUX_DMABUF_POOL_H#define _UAPI_LINUX_DMABUF_POOL_H
#include <linux/ioctl.h>#include <linux/types.h>
/** * DOC: DMABUF Heaps Userspace API */
/* Valid FD_FLAGS are O_CLOEXEC, O_RDONLY, O_WRONLY, O_RDWR */#define DMA_HEAP_VALID_FD_FLAGS (O_CLOEXEC | O_ACCMODE)
/* Currently no heap flags */#define DMA_HEAP_VALID_HEAP_FLAGS (0ULL)
/** * struct dma_heap_allocation_data - metadata passed from userspace for * allocations * @len: size of the allocation * @fd: will be populated with a fd which provides the * handle to the allocated dma-buf * @fd_flags: file descriptor flags used when allocating * @heap_flags: flags passed to heap * * Provided by userspace as an argument to the ioctl */struct dma_heap_allocation_data { __u64 len; __u32 fd; __u32 fd_flags; __u64 heap_flags;};
#define DMA_HEAP_IOC_MAGIC 'H'
/** * DOC: DMA_HEAP_IOCTL_ALLOC - allocate memory from pool * * Takes a dma_heap_allocation_data struct and returns it with the fd field * populated with the dmabuf handle of the allocation. */#define DMA_HEAP_IOCTL_ALLOC _IOWR(DMA_HEAP_IOC_MAGIC, 0x0,\ struct dma_heap_allocation_data)
#endif /* _UAPI_LINUX_DMABUF_POOL_H */