Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0-only
menu "DMABUF options"

config CONFIG_SYNC_FILE
	bool "Explicit Synchronization Framework"
	default n
	select CONFIG_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 CONFIG_DRM driver for example. More details at
	  Documentation/driver-api/sync_file.rst.

config CONFIG_SW_SYNC
	bool "Sync File Validation Framework"
	default n
	depends on CONFIG_SYNC_FILE
	depends on CONFIG_DEBUG_FS
	---help---
	  CONFIG_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 CONFIG_UDMABUF
	bool "userspace dmabuf misc driver"
	default n
	depends on CONFIG_DMA_SHARED_BUFFER
	depends on CONFIG_MEMFD_CREATE || CONFIG_COMPILE_TEST
	help
	  CONFIG_A driver to let userspace turn memfd regions into dma-bufs.
	  Qemu can use this to create host dmabufs for guest framebuffers.

config CONFIG_DMABUF_SELFTESTS
	tristate "Selftests for the dma-buf interfaces"
	default n
	depends on CONFIG_DMA_SHARED_BUFFER

endmenu