android_kernel_xiaomi_sm8350/drivers/dma-buf/Kconfig
Liam Mark 236b06ac63 dma-buf: Add support to set a destructor on a dma-buf
dma-buf destructor support is useful as it allows clients an opportunity
to undo any attributes, such as security attributes, they have applied to
the dma-buf's memory.

The destructor is called when the dma-buf is freed, if the destructor
returns an error the dma-buf's exporter release function is not called in
order to ensure that memory which has not been properly cleaned up isn't
returned to the system.

Change-Id: If2173b23b441157b3638110f02e2ff90ab6ad1aa
Signed-off-by: Liam Mark <lmark@codeaurora.org>
Signed-off-by: Swathi Sridhar <swatsrid@codeaurora.org>
[isaacm@codeaurora.org: resolve merge conflicts/qseecom redefinitions]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-08-01 22:57:06 -07:00

74 lines
2.5 KiB
Plaintext

# SPDX-License-Identifier: GPL-2.0-only
menu "DMABUF options"
config SYNC_FILE
bool "Explicit Synchronization Framework"
default n
select DMA_SHARED_BUFFER
---help---
The Sync File Framework adds explicit syncronization via
userspace. It enables send/receive 'struct dma_fence' objects to/from
userspace via Sync File fds for synchronization between drivers via
userspace components. It has been ported from Android.
The first and main user for this is graphics in which a fence is
associated with a buffer. When a job is submitted to the GPU a fence
is attached to the buffer and is transferred via userspace, using Sync
Files fds, to the DRM driver for example. More details at
Documentation/driver-api/sync_file.rst.
config SW_SYNC
bool "Sync File Validation Framework"
default n
depends on SYNC_FILE
depends on DEBUG_FS
---help---
A sync object driver that uses a 32bit counter to coordinate
synchronization. Useful when there is no hardware primitive backing
the synchronization.
WARNING: improper use of this can result in deadlocking kernel
drivers from userspace. Intended for test and debug only.
config DEBUG_DMA_BUF_REF
bool "DEBUG Reference Count"
depends on STACKDEPOT
depends on DMA_SHARED_BUFFER
default n
help
Save stack traces for every call to dma_buf_get and dma_buf_put, to
help debug memory leaks. Potential leaks may be found by manually
matching the get/put call stacks. This feature consumes extra memory
in order to save the stack traces using STACKDEPOT.
config DMABUF_DESTRUCTOR_SUPPORT
bool "dmabuf destructor support"
default n
depends on DMA_SHARED_BUFFER
depends on QGKI
help
dma-buf destructor support is useful as it allows clients an
opportunity to undo any attributes, such as security attributes,
they have applied to the dma-buf's memory.
The destructor is called when the dma-buf is freed, if the destructor
returns an error the dma-buf's exporter release function is not
called in order to ensure that memory which has not been properly
cleaned up isn't returned to the system
config UDMABUF
bool "userspace dmabuf misc driver"
default n
depends on DMA_SHARED_BUFFER
depends on MEMFD_CREATE || COMPILE_TEST
help
A driver to let userspace turn memfd regions into dma-bufs.
Qemu can use this to create host dmabufs for guest framebuffers.
config DMABUF_SELFTESTS
tristate "Selftests for the dma-buf interfaces"
default n
depends on DMA_SHARED_BUFFER
endmenu