dma-buf/sw_sync: de-stage SW_SYNC
authorGustavo Padovan <gustavo.padovan@collabora.co.uk>
Thu, 11 Aug 2016 15:26:44 +0000 (12:26 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 15 Aug 2016 14:41:46 +0000 (16:41 +0200)
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>
drivers/dma-buf/Kconfig
drivers/dma-buf/Makefile
drivers/dma-buf/sw_sync.c [moved from drivers/staging/android/sw_sync.c with 100% similarity]
drivers/dma-buf/sync_debug.c [moved from drivers/staging/android/sync_debug.c with 100% similarity]
drivers/dma-buf/sync_debug.h [moved from drivers/staging/android/sync_debug.h with 100% similarity]
drivers/dma-buf/sync_trace.h [moved from drivers/staging/android/sync_trace.h with 92% similarity]
drivers/staging/android/Kconfig
drivers/staging/android/Makefile

index 25bcfa0..2585821 100644 (file)
@@ -17,4 +17,17 @@ config SYNC_FILE
          Files fds, to the DRM driver for example. More details at
          Documentation/sync_file.txt.
 
+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.
+
 endmenu
index f353db2..210a10b 100644 (file)
@@ -1,2 +1,3 @@
 obj-y := dma-buf.o fence.o reservation.o seqno-fence.o fence-array.o
 obj-$(CONFIG_SYNC_FILE)                += sync_file.o
+obj-$(CONFIG_SW_SYNC)          += sw_sync.o sync_debug.o
similarity index 92%
rename from drivers/staging/android/sync_trace.h
rename to drivers/dma-buf/sync_trace.h
index ea485f7..d13d59f 100644 (file)
@@ -1,5 +1,5 @@
 #undef TRACE_SYSTEM
-#define TRACE_INCLUDE_PATH ../../drivers/staging/android
+#define TRACE_INCLUDE_PATH ../../drivers/dma-buf
 #define TRACE_SYSTEM sync_trace
 
 #if !defined(_TRACE_SYNC_H) || defined(TRACE_HEADER_MULTI_READ)
index 06e41d2..6c00d6f 100644 (file)
@@ -24,19 +24,6 @@ config ANDROID_LOW_MEMORY_KILLER
          scripts (/init.rc), and it defines priority values with minimum free memory size
          for each priority.
 
-config SW_SYNC
-       bool "Software synchronization 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.
-
 source "drivers/staging/android/ion/Kconfig"
 
 endif # if ANDROID
index 7ca61b7..7ed1be7 100644 (file)
@@ -4,4 +4,3 @@ obj-y                                   += ion/
 
 obj-$(CONFIG_ASHMEM)                   += ashmem.o
 obj-$(CONFIG_ANDROID_LOW_MEMORY_KILLER)        += lowmemorykiller.o
-obj-$(CONFIG_SW_SYNC)                  += sw_sync.o sync_debug.o