# 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