# SPDX-License-Identifier: GPL-2.0-only menu "DMABUF options" config [31mCONFIG_SYNC_FILE[0m bool "Explicit Synchronization Framework" default n select [31mCONFIG_DMA_SHARED_BUFFER[0m ---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 [31mCONFIG_DRM[0m driver for example. More details at Documentation/driver-api/sync_file.rst. config [31mCONFIG_SW_SYNC[0m bool "Sync File Validation Framework" default n depends on [31mCONFIG_SYNC_FILE[0m depends on [31mCONFIG_DEBUG_FS[0m ---help--- [31mCONFIG_A[0m 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 [31mCONFIG_UDMABUF[0m bool "userspace dmabuf misc driver" default n depends on [31mCONFIG_DMA_SHARED_BUFFER[0m depends on [31mCONFIG_MEMFD_CREATE[0m || [31mCONFIG_COMPILE_TEST[0m help [31mCONFIG_A[0m driver to let userspace turn memfd regions into dma-bufs. Qemu can use this to create host dmabufs for guest framebuffers. config [31mCONFIG_DMABUF_SELFTESTS[0m tristate "Selftests for the dma-buf interfaces" default n depends on [31mCONFIG_DMA_SHARED_BUFFER[0m endmenu |