aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0906-drm-amdgpu-take-a-BO-reference-for-the-user-fence.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0906-drm-amdgpu-take-a-BO-reference-for-the-user-fence.patch')
-rw-r--r--common/recipes-kernel/linux/files/0906-drm-amdgpu-take-a-BO-reference-for-the-user-fence.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0906-drm-amdgpu-take-a-BO-reference-for-the-user-fence.patch b/common/recipes-kernel/linux/files/0906-drm-amdgpu-take-a-BO-reference-for-the-user-fence.patch
new file mode 100644
index 00000000..e0e6b6cc
--- /dev/null
+++ b/common/recipes-kernel/linux/files/0906-drm-amdgpu-take-a-BO-reference-for-the-user-fence.patch
@@ -0,0 +1,51 @@
+From 04b516bf88e756a0b66c03d2d7e5828a8fe0f130 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
+Date: Thu, 3 Dec 2015 19:55:52 +0100
+Subject: [PATCH 0906/1050] drm/amdgpu: take a BO reference for the user fence
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+No need for a GEM reference here.
+
+Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
+Signed-off-by: Christian König <christian.koenig@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 6 ++++--
+ 1 file 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 a341206..74a3db0 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+@@ -222,6 +222,8 @@ int amdgpu_cs_parser_init(struct amdgpu_cs_parser *p, void *data)
+ }
+
+ p->uf.bo = gem_to_amdgpu_bo(gobj);
++ amdgpu_bo_ref(p->uf.bo);
++ drm_gem_object_unreference_unlocked(gobj);
+ p->uf.offset = fence_data->offset;
+ } else {
+ ret = -EINVAL;
+@@ -487,7 +489,7 @@ static void amdgpu_cs_parser_fini(struct amdgpu_cs_parser *parser, int error, bo
+ amdgpu_ib_free(parser->adev, &parser->ibs[i]);
+ kfree(parser->ibs);
+ if (parser->uf.bo)
+- drm_gem_object_unreference_unlocked(&parser->uf.bo->gem_base);
++ amdgpu_bo_unref(&parser->uf.bo);
+ }
+
+ static int amdgpu_bo_vm_update_pte(struct amdgpu_cs_parser *p,
+@@ -776,7 +778,7 @@ static int amdgpu_cs_free_job(struct amdgpu_job *job)
+ amdgpu_ib_free(job->adev, &job->ibs[i]);
+ kfree(job->ibs);
+ if (job->uf.bo)
+- drm_gem_object_unreference_unlocked(&job->uf.bo->gem_base);
++ amdgpu_bo_unref(&job->uf.bo);
+ return 0;
+ }
+
+--
+1.9.1
+