aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0804-dma-buf-return-index-of-the-first-signaled-fence.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0804-dma-buf-return-index-of-the-first-signaled-fence.patch')
-rw-r--r--meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0804-dma-buf-return-index-of-the-first-signaled-fence.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0804-dma-buf-return-index-of-the-first-signaled-fence.patch b/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0804-dma-buf-return-index-of-the-first-signaled-fence.patch
new file mode 100644
index 00000000..b0437de8
--- /dev/null
+++ b/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0804-dma-buf-return-index-of-the-first-signaled-fence.patch
@@ -0,0 +1,61 @@
+From fdeda884cd54908cd1d0d1e5c495e6261de9c50f Mon Sep 17 00:00:00 2001
+From: "monk.liu" <Monk.Liu@amd.com>
+Date: Mon, 30 Nov 2015 16:19:34 +0800
+Subject: [PATCH 0804/1050] dma-buf: return index of the first signaled fence
+ drm/amdgpu: return first signaled fence index in status parameter
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Change-Id: I1b0d525f351015941a32206fec2d2f9199b8ef69
+Signed-off-by: monk.liu <Monk.Liu@amd.com>
+Reviewed-by: Christian König <christian.koenig@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 4 +++-
+ drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c | 2 +-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+index d9fbfb5..272cc89 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+@@ -1024,6 +1024,7 @@ static int amdgpu_cs_wait_any_fence(struct amdgpu_device *adev,
+ {
+ unsigned long timeout = amdgpu_gem_timeout(wait->in.timeout_ns);
+ uint32_t fence_count = wait->in.fence_count;
++ uint32_t first = ~0;
+ struct fence **array;
+ unsigned i;
+ long r;
+@@ -1049,13 +1050,14 @@ static int amdgpu_cs_wait_any_fence(struct amdgpu_device *adev,
+ }
+ }
+
+- r = fence_wait_any_timeout(array, fence_count, true, timeout);
++ r = fence_wait_any_timeout(array, fence_count, true, timeout, &first);
+ if (r < 0)
+ goto err_free_fence_array;
+
+ out:
+ memset(wait, 0, sizeof(*wait));
+ wait->out.status = (r > 0);
++ wait->out.first_signaled = first;
+ /* set return value 0 to indicate success */
+ r = 0;
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
+index 8b88edb..fef2402 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
+@@ -359,7 +359,7 @@ int amdgpu_sa_bo_new(struct amdgpu_sa_manager *sa_manager,
+ if (count) {
+ spin_unlock(&sa_manager->wq.lock);
+ t = fence_wait_any_timeout(fences, count, false,
+- MAX_SCHEDULE_TIMEOUT);
++ MAX_SCHEDULE_TIMEOUT, NULL);
+ r = (t > 0) ? 0 : t;
+ spin_lock(&sa_manager->wq.lock);
+ } else {
+--
+1.9.1
+