mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
Linux 4.13-rc2
-----BEGIN PGP SIGNATURE----- iQEcBAABAgAGBQJZdS4PAAoJEHm+PkMAQRiGbEYH/2mukTPOUAfNoWaVjO2YHxuL 5yI3n1838tKIJm967IUmGdckN/RYGPjJxvZ+muXN2/rv23+9j3LVq9vQcsYqRQop vrWP+hvGGJvOGJ2NYBDB+4AUrPPdeX9stolwyAcYvyCZ8AilPIovm4s2poA+fuQX D78c8JSfpse32oc93dy4bUz3mRFKTeufstrWEuzqXI691mthF2G9EpA0R3hlbqv+ GiUnNcZVOnOuCt/47GnpWVKsyv91l3CkGq3bV1GSUi8a/1PnyFxHQxQI/qgbkLXs NuswRupSeLDQKRgiDLgWF/BpdHEp4dpFFWXm00KWlgxeGSQnKat9bpW/d5OgnhA= =mv3H -----END PGP SIGNATURE----- Backmerge tag 'v4.13-rc2' into drm-next Linux 4.13-rc2 This is required for drm-misc fixing.
This commit is contained in:
commit
0eb2c0ae57
450 changed files with 11820 additions and 4475 deletions
|
|
@ -75,11 +75,6 @@ int dma_fence_signal_locked(struct dma_fence *fence)
|
|||
if (WARN_ON(!fence))
|
||||
return -EINVAL;
|
||||
|
||||
if (!ktime_to_ns(fence->timestamp)) {
|
||||
fence->timestamp = ktime_get();
|
||||
smp_mb__before_atomic();
|
||||
}
|
||||
|
||||
if (test_and_set_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags)) {
|
||||
ret = -EINVAL;
|
||||
|
||||
|
|
@ -87,8 +82,11 @@ int dma_fence_signal_locked(struct dma_fence *fence)
|
|||
* we might have raced with the unlocked dma_fence_signal,
|
||||
* still run through all callbacks
|
||||
*/
|
||||
} else
|
||||
} else {
|
||||
fence->timestamp = ktime_get();
|
||||
set_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &fence->flags);
|
||||
trace_dma_fence_signaled(fence);
|
||||
}
|
||||
|
||||
list_for_each_entry_safe(cur, tmp, &fence->cb_list, node) {
|
||||
list_del_init(&cur->node);
|
||||
|
|
@ -115,14 +113,11 @@ int dma_fence_signal(struct dma_fence *fence)
|
|||
if (!fence)
|
||||
return -EINVAL;
|
||||
|
||||
if (!ktime_to_ns(fence->timestamp)) {
|
||||
fence->timestamp = ktime_get();
|
||||
smp_mb__before_atomic();
|
||||
}
|
||||
|
||||
if (test_and_set_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags))
|
||||
return -EINVAL;
|
||||
|
||||
fence->timestamp = ktime_get();
|
||||
set_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &fence->flags);
|
||||
trace_dma_fence_signaled(fence);
|
||||
|
||||
if (test_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT, &fence->flags)) {
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ static void sync_print_fence(struct seq_file *s,
|
|||
show ? "_" : "",
|
||||
sync_status_str(status));
|
||||
|
||||
if (status) {
|
||||
if (test_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &fence->flags)) {
|
||||
struct timespec64 ts64 =
|
||||
ktime_to_timespec64(fence->timestamp);
|
||||
|
||||
|
|
|
|||
|
|
@ -391,7 +391,13 @@ static void sync_fill_fence_info(struct dma_fence *fence,
|
|||
sizeof(info->driver_name));
|
||||
|
||||
info->status = dma_fence_get_status(fence);
|
||||
info->timestamp_ns = ktime_to_ns(fence->timestamp);
|
||||
while (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags) &&
|
||||
!test_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &fence->flags))
|
||||
cpu_relax();
|
||||
info->timestamp_ns =
|
||||
test_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &fence->flags) ?
|
||||
ktime_to_ns(fence->timestamp) :
|
||||
ktime_set(0, 0);
|
||||
}
|
||||
|
||||
static long sync_file_ioctl_fence_info(struct sync_file *sync_file,
|
||||
|
|
|
|||
Loading…
Reference in a new issue