linux/include/uapi
Oded Gabbay be5d926b5c habanalabs: add command buffer module
This patch adds the command buffer (CB) module, which allows the user to
create and destroy CBs and to map them to the user's process
address-space.

A command buffer is a memory blocks that reside in DMA-able address-space
and is physically contiguous so it can be accessed by the device without
MMU translation. The command buffer memory is allocated using the
coherent DMA API.

When creating a new CB, the IOCTL returns a handle of it, and the
user-space process needs to use that handle to mmap the buffer to get a VA
in the user's address-space.

Before destroying (freeing) a CB, the user must unmap the CB's VA using the
CB handle.

Each CB has a reference counter, which tracks its usage in command
submissions and also its mmaps (only a single mmap is allowed).

The driver maintains a pool of pre-allocated CBs in order to reduce
latency during command submissions. In case the pool is empty, the driver
will go to the slow-path of allocating a new CB, i.e. calling
dma_alloc_coherent.

Reviewed-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-02-18 09:46:44 +01:00
..
asm-generic arm64 festive updates for 4.21 2018-12-25 17:41:56 -08:00
drm drm/msm: add uapi to get/set debug name 2018-12-11 13:07:05 -05:00
linux Merge 5.0-rc6 into char-misc-next 2019-02-11 09:05:58 +01:00
misc habanalabs: add command buffer module 2019-02-18 09:46:44 +01:00
mtd ubi: expose the volume CRC check skip flag 2018-08-15 00:25:21 +02:00
rdma RDMA/hns: Update the kernel header file of hns 2019-01-25 09:55:48 -07:00
scsi scsi: ufs: fix integer type usage in uapi header 2018-10-15 22:44:30 -04:00
sound ALSA: firewire-tascam: notify events of change of state for userspace applications 2018-11-23 15:31:15 +01:00
video
xen