Karlis Ogsts
dbc31d4e79
staging: android: logger: Correct write offset reset on error
...
commit 72bb99cfe9 upstream.
In the situation that a writer fails to copy data from userspace it will reset
the write offset to the value it had before it went to sleep. This discarding
any messages written while aquiring the mutex.
Therefore the reset offset needs to be retrieved after acquiring the mutex.
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-08-04 16:50:51 +08:00
Dan Carpenter
60bba385c5
staging: alarm-dev: information leak in alarm_compat_ioctl()
...
If we pass an invalid clock type then "ts" is never set. We need to
check for errors earlier, otherwise we end up passing uninitialized
stack data to userspace.
Reported-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-06-04 10:26:14 -07:00
Dan Carpenter
e919b86c3b
staging: alarm-dev: information leak in alarm_ioctl()
...
Smatch complains that if we pass an invalid clock type then "ts" is
never set. We need to check for errors earlier, otherwise we end up
passing uninitialized stack data to userspace.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com >
Acked-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-06-03 13:38:55 -07:00
Xiong Zhou
bd471258f2
staging: android: logger: use kuid_t instead of uid_t
...
Use kuid_t instead of uid_t, to pass the UIDGID_STRICT_TYPE_CHECKS.
Signed-off-by: Xiong Zhou <jencce.kernel@gmail.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-05-16 15:37:51 -07:00
Linus Torvalds
5647ac0ad4
Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux
...
Pull removal of GENERIC_GPIO from Grant Likely:
"GENERIC_GPIO now synonymous with GPIOLIB. There are no longer any
valid cases for enableing GENERIC_GPIO without GPIOLIB, even though it
is possible to do so which has been causing confusion and breakage.
This branch does the work to completely eliminate GENERIC_GPIO."
* tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux:
gpio: update gpio Chinese documentation
Remove GENERIC_GPIO config option
Convert selectors of GENERIC_GPIO to GPIOLIB
blackfin: force use of gpiolib
m68k: coldfire: use gpiolib
mips: pnx833x: remove requirement for GENERIC_GPIO
openrisc: default GENERIC_GPIO to false
avr32: default GENERIC_GPIO to false
xtensa: remove explicit selection of GENERIC_GPIO
sh: replace CONFIG_GENERIC_GPIO by CONFIG_GPIOLIB
powerpc: remove redundant GENERIC_GPIO selection
unicore32: default GENERIC_GPIO to false
unicore32: remove unneeded select GENERIC_GPIO
arm: plat-orion: use GPIO driver on CONFIG_GPIOLIB
arm: remove redundant GENERIC_GPIO selection
mips: alchemy: require gpiolib
mips: txx9: change GENERIC_GPIO to GPIOLIB
mips: loongson: use GPIO driver on CONFIG_GPIOLIB
mips: remove redundant GENERIC_GPIO select
2013-05-09 09:59:16 -07:00
Kent Overstreet
a27bb332c0
aio: don't include aio.h in sched.h
...
Faster kernel compiles by way of fewer unnecessary includes.
[akpm@linux-foundation.org: fix fallout]
[akpm@linux-foundation.org: fix build]
Signed-off-by: Kent Overstreet <koverstreet@google.com>
Cc: Zach Brown <zab@redhat.com>
Cc: Felipe Balbi <balbi@ti.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Mark Fasheh <mfasheh@suse.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Asai Thambi S P <asamymuthupa@micron.com>
Cc: Selvan Mani <smani@micron.com>
Cc: Sam Bradshaw <sbradshaw@micron.com>
Cc: Jeff Moyer <jmoyer@redhat.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Benjamin LaHaise <bcrl@kvack.org>
Reviewed-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-05-07 20:16:25 -07:00
Alexandre Courbot
76ec9d18b8
Convert selectors of GENERIC_GPIO to GPIOLIB
...
GENERIC_GPIO is now equivalent to GPIOLIB and features that depended on
GENERIC_GPIO can now depend on GPIOLIB to allow removal of this option.
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com >
Acked-by: Linus Walleij <linus.walleij@linaro.org >
Acked-by: Grant Likely <grant.likely@secretlab.ca >
2013-04-16 18:47:14 +09:00
Serban Constantinescu
aa7a82b9f9
staging: android: binder: replace IOCTL types with user-exportable types
...
This patch modifies the IOCTL macros to use user-exportable data types,
as they are the referred kernel types for the user/kernel interface.
The patch does not change in any way the functionality of the binder driver.
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com >
Acked-by: Arve Hjønnevåg <arve@android.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-04-11 08:51:51 -07:00
Dmitry Pervushin
c37b95eeef
staging: sync: Add compat_ioctl handlers to sync drivers
...
The sync drivers are missing compat_ioctl handlers, so this
patch adds them.
The same change has been submitted to AOSP:
https://android-review.googlesource.com/#/c/54901/
Change-Id: If1a1ecc3952b321c8d64c6a8b050104859efc4b1
Cc: Erik Gilling <konkers@android.com >
Cc: Dmitry Pervushin <dmitry.pervushin@linaro.org >
Cc: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org >
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Dmitry Pervushin <dmitry.pervushin@linaro.org >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-29 12:35:28 -07:00
Dmitry Voytik
6b83f9150f
staging: android: lowmemorykiller: well-marked debug print
...
Add "lowmemorykiller:" prefix to the debug print so it's easier to
analyse LMK's debug output:
dmesg | grep lowmemorykiller
Signed-off-by: Dmitry Voytik <dvv.kernel@gmail.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-25 11:02:55 -07:00
Mirsal Ennaime
c07c933fc1
drivers: android: binder: Use __func__ in debug messages
...
Debug messages sent in binder_deferred_release begin with
"binder_release:" which is a bit misleading as binder_release is not
directly part of the call stack. Use __func__ instead for debug messages
in binder_deferred_release.
Signed-off-by: Mirsal Ennaime <mirsal@mirsal.fr >
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-25 10:52:48 -07:00
Mirsal Ennaime
ba97bc5b13
drivers: android: binder: Remove excessive indentation
...
Remove one level of indentation from the binder proc page release code
by using slightly different control semantics.
Signed-off-by: Mirsal Ennaime <mirsal@mirsal.fr >
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-25 10:52:48 -07:00
Mirsal Ennaime
53413e7dcb
drivers: android: binder: Fix code style in binder_deferred_release
...
* Use tabs where applicable
* Remove a few "80-columns" checkpatch warnings
* Separate code paths with empty lines for readability
Signed-off-by: Mirsal Ennaime <mirsal@mirsal.fr >
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-25 10:52:48 -07:00
Mirsal Ennaime
008fa749e0
drivers: android: binder: Move the node release code to a separate function
...
The binder_deferred_release() function has many levels of indentation
which makes it difficult to read. This patch moves the code which deals
with disposing of a binder node to a separate binder_node_release()
function, thus removing one level of indentation and allowing the code to
fit in 80 columns.
Signed-off-by: Mirsal Ennaime <mirsal@mirsal.fr >
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-25 10:52:48 -07:00
Paul Bolle
2c0fb1c969
staging: android: remove dependency on TINY_SHMEM
...
The Kconfig entry for the "Anonymous Shared Memory Subsystem" got added
in v3.3. It has an optional dependency on TINY_SHMEM. But TINY_SHMEM had
already been removed in v2.6.29. So this optional dependency can safely
be removed too.
Signed-off-by: Paul Bolle <pebolle@tiscali.nl >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-14 13:40:58 -07:00
Wei Yongjun
59691367be
staging: sync: fix return value check in sync_fence_alloc()
...
In case of error, the function anon_inode_getfile() returns
ERR_PTR() and never returns NULL. The NULL test in the return
value check should be replaced with IS_ERR().
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-11 10:14:35 -07:00
Changlong Xie
451fb7664a
staging: sw_sync: sw_sync_timeline_ops can be static
...
Reported-by: Fengguang Wu <fengguang.wu@intel.com >
Signed-off-by: Changlong Xie <changlongx.xie@intel.com >
Acked-by: Erik Gilling <konkers@android.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-11 09:58:42 -07:00
Serban Constantinescu
e9f5b8145a
staging: android: ashmem: Add support for 32bit ashmem calls in a 64bit kernel
...
Android's shared memory subsystem, Ashmem, does not support calls from a
32bit userspace in a 64 bit kernel. This patch adds support for syscalls
coming from a 32bit userspace in a 64bit kernel.
The patch has been successfully tested on ARMv8 AEM(64bit
platform model) and Versatile Express A9(32bit platform).
v2: Fix missing compat.h include.
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com >
Acked-by: Arve Hjønnevåg <arve@android.com >
Acked-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-06 08:49:43 +08:00
Charndeep Grewal
1e70bd46a5
staging: android: logger: enforce GID and CAP check on log flush
...
Restrict log flushing to those in the logs group, or
anyone with CAP_SYSLOG.
Cc: Android Kernel Team <kernel-team@android.com >
Cc: Charndeep Grewal <csgrewa@tycho.ncsc.mil >
Signed-off-by: Charndeep Grewal <csgrewa@tycho.ncsc.mil >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-05 16:38:44 +08:00
Nick Kralevich
0441bcf4db
staging: android: logger: Allow a UID to read it's own log entries
...
Modify the kernel logger to record the UID associated with
the log entries. Always allow the same UID which generated a
log message to read the log message.
Allow anyone in the logs group, or anyone with CAP_SYSLOG, to
read all log entries.
In addition, allow the client to upgrade log formats, so they
can get additional information from the kernel.
Cc: Android Kernel Team <kernel-team@android.com >
Cc: Nick Kralevich <nnk@google.com >
Signed-off-by: Nick Kralevich <nnk@google.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-05 16:38:44 +08:00
Arve Hjønnevåg
99150f6a1a
staging: android: lowmemorykiller: Change default debug_level to 1
...
The select...to kill messages are not very useful when not debugging
the lowmemorykiller itself. After the change to check TIF_MEMDIE
instead of using a task notifer this message can also get very
noisy.
Cc: Android Kernel Team <kernel-team@android.com >
Cc: Arve Hjønnevåg <arve@android.com >
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Signed-off-by: Arve Hjønnevåg <arve@android.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-05 16:37:45 +08:00
Arve Hjønnevåg
eeb0f4f35f
staging: android: lowmemorykiller: Don't count reserved free memory
...
The amount of reserved memory varies between devices. Subtract it
here to reduce the amount of devices specific tuning needed for the
minfree values.
Cc: Android Kernel Team <kernel-team@android.com >
Cc: Arve Hjønnevåg <arve@android.com >
Signed-off-by: Arve Hjønnevåg <arve@android.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Acked-by: David Rientjes <rientjes@google.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-05 16:37:45 +08:00
Shankar Brahadeeswaran
e5834d620d
staging: android: ashmem: get_name,set_name not to hold ashmem_mutex
...
Problem:
There exists a path in ashmem driver that could lead to acquistion
of mm->mmap_sem, ashmem_mutex in reverse order. This could lead
to deadlock in the system.
For Example, assume that mmap is called on a ashmem region
in the context of a thread say T1.
sys_mmap_pgoff (1. acquires mm->mmap_sem)
|
--> mmap_region
|
----> ashmem_mmap (2. acquires asmem_mutex)
Now if there is a context switch after 1 and before 2,
and if another thread T2 (that shares the mm struct) invokes an
ioctl say ASHMEM_GET_NAME, this can lead to the following path
ashmem_ioctl
|
-->get_name (3. acquires ashmem_mutex)
|
---> copy_to_user (4. acquires the mm->mmap_sem)
Note that the copy_to_user could lead to a valid fault if no
physical page is allocated yet for the user address passed.
Now T1 has mmap_sem and is waiting for ashmem_mutex.
and T2 has the ashmem_mutex and is waiting for mmap_sem
Thus leading to deadlock.
Solution:
Do not call copy_to_user or copy_from_user while holding the
ahsmem_mutex. Instead copy this to a local buffer that lives
in the stack while holding this lock. This will maintain data
integrity as well never reverse the lock order.
Testing:
Created a unit test case to reproduce the problem.
Used the same to test this fix on kernel version 3.4.0
Ported the same patch to 3.8
Signed-off-by: Shankar Brahadeeswaran <shankoo77@gmail.com >
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com >
Acked-by: Dan Carpenter <dan.carpenter@oracle.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-05 16:35:22 +08:00
Jamie Gennis
573632c2ea
staging: sync: Fix timeout = 0 wait behavior
...
Fix wait behavior on timeout == 0 case
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Jamie Gennis <jgennis@google.com >
[jstultz: Added commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:46:55 +08:00
Erik Gilling
4c67d80211
staging: sync: Don't log wait timeouts when timeout = 0
...
If the timeout is zero, don't trip the timeout debugging
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
[jstultz: Added commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:46:55 +08:00
Ørjan Eide
713648f0f1
staging: sync: Fix race condition between merge and signal
...
The copied sync_pt was activated immediately. If the sync_pt was
signaled before the entire merge was completed, the new fence's pt_list
could be iterated over while it is still in the process of being
created.
Moving the the sync_pt_activate call for all new sync_pts to after both
the sync_fence_copy_pts and the sync_fence_merge_pts calls ensure that
the pt_list is complete and immutable before it can be reached from the
timeline's active list.
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:46:55 +08:00
Erik Gilling
b699a644f8
staging: sync: Add tracepoint support
...
Add support for tracepoints
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
[jstultz: Whitespace changes, add commit message, move to staging]
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:46:55 +08:00
Erik Gilling
135114a566
staging: sw_sync: Convert to use new value_str debug ops
...
Switch from print_obj/print_pt to the new
timeline_value_str and pt_value_str ops.
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
[jstultz: Add commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:46:55 +08:00
Erik Gilling
dbd523905b
staging: sync: Refactor sync debug printing
...
Move driver callbacks to fill strings instead of using seq_files. This
will allow those values to be used in a future tracepoint patch.
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:46:55 +08:00
Erik Gilling
4b5de08a37
staging: sync: Use proper barriers when waiting indefinitely
...
The previous fix only addressed waiting with a timeout.
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:46:54 +08:00
Erik Gilling
eeb2f57163
staging: sync: Update new fence status with sync_fence_signal_pt
...
If a fence's pt is signaled before sync_fence_create is called, the fence
will never transition into the signaled state. This also address a tiny
race if a merged fence's pt after sync_fence_get_status checks it's status
and before fence->status is updated.
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:46:54 +08:00
Erik Gilling
c679212dbf
staging: sync: Protect unlocked access to fence status
...
Fence status is checked outside of locks in both sync_fence_wait and
sync_fence_poll. This patch adds propper barrier protection in these
cases to avoid seeing stale status.
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:46:54 +08:00
Erik Gilling
7560645406
staging: sync: Dump sync state on fence errors
...
When we get a bad status, dump sync state
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
[jstultz: Added commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:46:54 +08:00
Erik Gilling
1d5db2ce93
staging: sync: Improve timeout dump messages
...
Improve the output of the timeout dumps, including
the fence pointer.
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
[jstultz: Added commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:44:08 +08:00
Erik Gilling
f56388f3bd
staging: sync: Dump sync state to console on timeout
...
If we hit a timeout, dump sync state to console
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
[jstultz: Add commit message, whitespace fixups]
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:44:08 +08:00
Erik Gilling
3b640f5dd0
staging: sync: Change wait timeout to mirror poll semantics
...
Change wait timeout to act like poll
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
[jstultz: Added commit message, squished typo-fix]
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:44:08 +08:00
Rebecca Schultz Zavin
03e7a50356
staging: sw_sync: Fix error paths
...
Check the return value of get_unused_fd to make sure a valid
file descriptor is returned.
Make sure to call put_unused_fd even if an error occurs before
the fd can be used.
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:44:08 +08:00
Rebecca Schultz Zavin
92ea915adb
staging: sync: Fix error paths
...
Check the return value of get_unused_fd to make sure a valid
file descriptor is returned.
Make sure to call put_unused_fd even if an error occurs before
the fd can be used.
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:44:08 +08:00
Erik Gilling
c5b86b7418
staging: sync: Add reference counting to timelines
...
If a timeline is destroyed while fences still hold pts on it, the reworked
fence release handler can cause the timeline to be freed before all it's points
are freed.
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
[jstultz: Squished in compiler warning fix]
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:44:07 +08:00
Erik Gilling
01544170e1
staging: sync: Add internal refcounting to fences
...
If a fence is released while a timeline that one of it's pts is on is being
signaled, it is possible for that fence to be deleted before it is signaled.
This patch adds a refcount for internal references such as signaled pt
processing.
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:44:07 +08:00
Erik Gilling
c6f668ce63
staging: sync: Optimize fence merges
...
If the two fences being merged contain sync_pts from the same timeline,
those two pts will be collapsed into a single pt representing the latter
of the two.
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
[jstultz: Whitespace fixes]
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:44:07 +08:00
Erik Gilling
cc3c5cdc7b
staging: sync: Reorder sync_fence_release
...
Previously fence's pts were freed before the were the fence was removed from the
global fence list. This led to a race with the debugfs support where it would
iterate over sync_pts that had been freed.
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:44:07 +08:00
Erik Gilling
6e91f71986
staging: sw_sync: Export sw_sync API
...
Needed to let modules link against sw_sync.
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:44:07 +08:00
Erik Gilling
8edb4ad911
staging: sync: Export sync API symbols
...
This is needed to allow modules to link against the sync subsystem
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:40:09 +08:00
Erik Gilling
c0f61a4e61
staging: sync: Allow async waits to be canceled
...
In order to allow drivers to cleanly handled teardown we need to allow them
to cancel pending async waits. To do this cleanly, we move allocation of
sync_fence_waiter to the driver calling sync_async_wait().
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:40:09 +08:00
Erik Gilling
57b505bbe7
staging: sync: Add poll support
...
Support poll on sync fence
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
[jstultz: Add commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:40:08 +08:00
Erik Gilling
b1489c2704
staging: sw_sync: Add fill_driver_data support
...
Add fill_driver_data support to export fence data to ioctl
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
[jstultz: Add commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:40:08 +08:00
Erik Gilling
79ba1525a9
staging: sync: Add ioctl to get fence data
...
Add ioctl to get fence data
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
[jstultz: Commit message tweaks]
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:40:08 +08:00
Erik Gilling
cebed3b1d7
staging: sw_sync: Add debug support
...
Add debugfs support hooks.
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
[jstultz: Add commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:40:08 +08:00
Erik Gilling
af7582f293
staging: sync: Add debugfs support
...
Add support for debugfs
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Cc: Erik Gilling <konkers@android.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Rob Clark <robclark@gmail.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com >
Signed-off-by: Erik Gilling <konkers@android.com >
[jstultz: Add commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2013-03-04 17:40:08 +08:00