diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0396-drm-amdgpu-RCU-protected-amdgpu_fence_release.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0396-drm-amdgpu-RCU-protected-amdgpu_fence_release.patch | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/common/recipes-kernel/linux/files/0396-drm-amdgpu-RCU-protected-amdgpu_fence_release.patch b/common/recipes-kernel/linux/files/0396-drm-amdgpu-RCU-protected-amdgpu_fence_release.patch deleted file mode 100644 index fc3e54aa..00000000 --- a/common/recipes-kernel/linux/files/0396-drm-amdgpu-RCU-protected-amdgpu_fence_release.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 352824dfbfbff5328210e72402abe1a934113ce0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> -Date: Tue, 15 Mar 2016 13:40:17 +0100 -Subject: [PATCH 0396/1110] drm/amdgpu: RCU protected amdgpu_fence_release -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fences must be freed RCU protected, otherwise the reservation_object_*_rcu() -functions can run into problems. - -Signed-off-by: Christian König <christian.koenig@amd.com> -Reviewed-by: Alex Deucher <alexander.deucher@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 23 ++++++++++++++++++++++- - 1 file changed, 22 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c -index d8bbe85..ec73ab1 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c -@@ -638,12 +638,33 @@ static bool amdgpu_fence_enable_signaling(struct fence *f) - return true; - } - --static void amdgpu_fence_release(struct fence *f) -+/** -+ * amdgpu_fence_free - free up the fence memory -+ * -+ * @rcu: RCU callback head -+ * -+ * Free up the fence memory after the RCU grace period. -+ */ -+static void amdgpu_fence_free(struct rcu_head *rcu) - { -+ struct fence *f = container_of(rcu, struct fence, rcu); - struct amdgpu_fence *fence = to_amdgpu_fence(f); - kmem_cache_free(amdgpu_fence_slab, fence); - } - -+/** -+ * amdgpu_fence_release - callback that fence can be freed -+ * -+ * @fence: fence -+ * -+ * This function is called when the reference count becomes zero. -+ * It just RCU schedules freeing up the fence. -+ */ -+static void amdgpu_fence_release(struct fence *f) -+{ -+ call_rcu(&f->rcu, amdgpu_fence_free); -+} -+ - static const struct fence_ops amdgpu_fence_ops = { - .get_driver_name = amdgpu_fence_get_driver_name, - .get_timeline_name = amdgpu_fence_get_timeline_name, --- -2.7.4 - |