diff options
author | Gustavo Padovan <gustavo.padovan@collabora.co.uk> | 2016-08-11 11:26:44 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-08-15 10:41:46 -0400 |
commit | 35538d7822e86cb38015c21bb708a433f8814af0 (patch) | |
tree | 36aa2ccfe355aa93ad345715988a36ceba2498ea | |
parent | fc0c9a03b57efb769a74fa8b33d68d90153b5950 (diff) |
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>
-rw-r--r-- | drivers/dma-buf/Kconfig | 13 | ||||
-rw-r--r-- | drivers/dma-buf/Makefile | 1 | ||||
-rw-r--r-- | drivers/dma-buf/sw_sync.c (renamed from drivers/staging/android/sw_sync.c) | 0 | ||||
-rw-r--r-- | drivers/dma-buf/sync_debug.c (renamed from drivers/staging/android/sync_debug.c) | 0 | ||||
-rw-r--r-- | drivers/dma-buf/sync_debug.h (renamed from drivers/staging/android/sync_debug.h) | 0 | ||||
-rw-r--r-- | drivers/dma-buf/sync_trace.h (renamed from drivers/staging/android/sync_trace.h) | 2 | ||||
-rw-r--r-- | drivers/staging/android/Kconfig | 13 | ||||
-rw-r--r-- | drivers/staging/android/Makefile | 1 |
8 files changed, 15 insertions, 15 deletions
diff --git a/drivers/dma-buf/Kconfig b/drivers/dma-buf/Kconfig index 25bcfa0b474f..2585821b24ab 100644 --- a/drivers/dma-buf/Kconfig +++ b/drivers/dma-buf/Kconfig | |||
@@ -17,4 +17,17 @@ config SYNC_FILE | |||
17 | Files fds, to the DRM driver for example. More details at | 17 | Files fds, to the DRM driver for example. More details at |
18 | Documentation/sync_file.txt. | 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 | endmenu | 33 | endmenu |
diff --git a/drivers/dma-buf/Makefile b/drivers/dma-buf/Makefile index f353db213a81..210a10bfad2b 100644 --- a/drivers/dma-buf/Makefile +++ b/drivers/dma-buf/Makefile | |||
@@ -1,2 +1,3 @@ | |||
1 | obj-y := dma-buf.o fence.o reservation.o seqno-fence.o fence-array.o | 1 | obj-y := dma-buf.o fence.o reservation.o seqno-fence.o fence-array.o |
2 | obj-$(CONFIG_SYNC_FILE) += sync_file.o | 2 | obj-$(CONFIG_SYNC_FILE) += sync_file.o |
3 | obj-$(CONFIG_SW_SYNC) += sw_sync.o sync_debug.o | ||
diff --git a/drivers/staging/android/sw_sync.c b/drivers/dma-buf/sw_sync.c index 62e8e6dc7953..62e8e6dc7953 100644 --- a/drivers/staging/android/sw_sync.c +++ b/drivers/dma-buf/sw_sync.c | |||
diff --git a/drivers/staging/android/sync_debug.c b/drivers/dma-buf/sync_debug.c index fab95204cf74..fab95204cf74 100644 --- a/drivers/staging/android/sync_debug.c +++ b/drivers/dma-buf/sync_debug.c | |||
diff --git a/drivers/staging/android/sync_debug.h b/drivers/dma-buf/sync_debug.h index d269aa6783aa..d269aa6783aa 100644 --- a/drivers/staging/android/sync_debug.h +++ b/drivers/dma-buf/sync_debug.h | |||
diff --git a/drivers/staging/android/sync_trace.h b/drivers/dma-buf/sync_trace.h index ea485f7be58a..d13d59ff1b85 100644 --- a/drivers/staging/android/sync_trace.h +++ b/drivers/dma-buf/sync_trace.h | |||
@@ -1,5 +1,5 @@ | |||
1 | #undef TRACE_SYSTEM | 1 | #undef TRACE_SYSTEM |
2 | #define TRACE_INCLUDE_PATH ../../drivers/staging/android | 2 | #define TRACE_INCLUDE_PATH ../../drivers/dma-buf |
3 | #define TRACE_SYSTEM sync_trace | 3 | #define TRACE_SYSTEM sync_trace |
4 | 4 | ||
5 | #if !defined(_TRACE_SYNC_H) || defined(TRACE_HEADER_MULTI_READ) | 5 | #if !defined(_TRACE_SYNC_H) || defined(TRACE_HEADER_MULTI_READ) |
diff --git a/drivers/staging/android/Kconfig b/drivers/staging/android/Kconfig index 06e41d24ec62..6c00d6f765c6 100644 --- a/drivers/staging/android/Kconfig +++ b/drivers/staging/android/Kconfig | |||
@@ -24,19 +24,6 @@ config ANDROID_LOW_MEMORY_KILLER | |||
24 | scripts (/init.rc), and it defines priority values with minimum free memory size | 24 | scripts (/init.rc), and it defines priority values with minimum free memory size |
25 | for each priority. | 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 | source "drivers/staging/android/ion/Kconfig" | 27 | source "drivers/staging/android/ion/Kconfig" |
41 | 28 | ||
42 | endif # if ANDROID | 29 | endif # if ANDROID |
diff --git a/drivers/staging/android/Makefile b/drivers/staging/android/Makefile index 7ca61b77a8d4..7ed1be798909 100644 --- a/drivers/staging/android/Makefile +++ b/drivers/staging/android/Makefile | |||
@@ -4,4 +4,3 @@ obj-y += ion/ | |||
4 | 4 | ||
5 | obj-$(CONFIG_ASHMEM) += ashmem.o | 5 | obj-$(CONFIG_ASHMEM) += ashmem.o |
6 | obj-$(CONFIG_ANDROID_LOW_MEMORY_KILLER) += lowmemorykiller.o | 6 | obj-$(CONFIG_ANDROID_LOW_MEMORY_KILLER) += lowmemorykiller.o |
7 | obj-$(CONFIG_SW_SYNC) += sw_sync.o sync_debug.o | ||