Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dma-buf/sw_sync: de-stage SW_SYNC

SW_SYNC allows to run tests on the sync_file framework via debugfs on

<debugfs>/sync/sw_sync

Opening and closing the file triggers creation and release of a sync
timeline. To create fences on this timeline the SW_SYNC_IOC_CREATE_FENCE
ioctl should be used. To increment the timeline value use SW_SYNC_IOC_INC.

Also it exports Sync information on

<debugfs>/sync/info

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Gustavo Padovan and committed by
Greg Kroah-Hartman
35538d78 fc0c9a03

+15 -15
+13
drivers/dma-buf/Kconfig
··· 17 17 Files fds, to the DRM driver for example. More details at 18 18 Documentation/sync_file.txt. 19 19 20 + config SW_SYNC 21 + bool "Sync File Validation Framework" 22 + default n 23 + depends on SYNC_FILE 24 + depends on DEBUG_FS 25 + ---help--- 26 + A sync object driver that uses a 32bit counter to coordinate 27 + synchronization. Useful when there is no hardware primitive backing 28 + the synchronization. 29 + 30 + WARNING: improper use of this can result in deadlocking kernel 31 + drivers from userspace. Intended for test and debug only. 32 + 20 33 endmenu
+1
drivers/dma-buf/Makefile
··· 1 1 obj-y := dma-buf.o fence.o reservation.o seqno-fence.o fence-array.o 2 2 obj-$(CONFIG_SYNC_FILE) += sync_file.o 3 + obj-$(CONFIG_SW_SYNC) += sw_sync.o sync_debug.o
-13
drivers/staging/android/Kconfig
··· 24 24 scripts (/init.rc), and it defines priority values with minimum free memory size 25 25 for each priority. 26 26 27 - config SW_SYNC 28 - bool "Software synchronization framework" 29 - default n 30 - depends on SYNC_FILE 31 - depends on DEBUG_FS 32 - ---help--- 33 - A sync object driver that uses a 32bit counter to coordinate 34 - synchronization. Useful when there is no hardware primitive backing 35 - the synchronization. 36 - 37 - WARNING: improper use of this can result in deadlocking kernel 38 - drivers from userspace. Intended for test and debug only. 39 - 40 27 source "drivers/staging/android/ion/Kconfig" 41 28 42 29 endif # if ANDROID
-1
drivers/staging/android/Makefile
··· 4 4 5 5 obj-$(CONFIG_ASHMEM) += ashmem.o 6 6 obj-$(CONFIG_ANDROID_LOW_MEMORY_KILLER) += lowmemorykiller.o 7 - obj-$(CONFIG_SW_SYNC) += sw_sync.o sync_debug.o
drivers/staging/android/sw_sync.c drivers/dma-buf/sw_sync.c
drivers/staging/android/sync_debug.c drivers/dma-buf/sync_debug.c
drivers/staging/android/sync_debug.h drivers/dma-buf/sync_debug.h
+1 -1
drivers/staging/android/sync_trace.h drivers/dma-buf/sync_trace.h
··· 1 1 #undef TRACE_SYSTEM 2 - #define TRACE_INCLUDE_PATH ../../drivers/staging/android 2 + #define TRACE_INCLUDE_PATH ../../drivers/dma-buf 3 3 #define TRACE_SYSTEM sync_trace 4 4 5 5 #if !defined(_TRACE_SYNC_H) || defined(TRACE_HEADER_MULTI_READ)