|  | # 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 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 |