aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0397-drm-amdgpu-RCU-protected-amd_sched_fence_release.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0397-drm-amdgpu-RCU-protected-amd_sched_fence_release.patch')
-rw-r--r--common/recipes-kernel/linux/files/0397-drm-amdgpu-RCU-protected-amd_sched_fence_release.patch59
1 files changed, 0 insertions, 59 deletions
diff --git a/common/recipes-kernel/linux/files/0397-drm-amdgpu-RCU-protected-amd_sched_fence_release.patch b/common/recipes-kernel/linux/files/0397-drm-amdgpu-RCU-protected-amd_sched_fence_release.patch
deleted file mode 100644
index 38fe782e..00000000
--- a/common/recipes-kernel/linux/files/0397-drm-amdgpu-RCU-protected-amd_sched_fence_release.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From b21fc40ce5fbde04cca84b5a635e5ffbcae6ba80 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:58:14 +0100
-Subject: [PATCH 0397/1110] drm/amdgpu: RCU protected amd_sched_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/scheduler/sched_fence.c | 23 ++++++++++++++++++++++-
- 1 file changed, 22 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/amd/scheduler/sched_fence.c b/drivers/gpu/drm/amd/scheduler/sched_fence.c
-index 87c78ee..dc115ae 100644
---- a/drivers/gpu/drm/amd/scheduler/sched_fence.c
-+++ b/drivers/gpu/drm/amd/scheduler/sched_fence.c
-@@ -84,12 +84,33 @@ static bool amd_sched_fence_enable_signaling(struct fence *f)
- return true;
- }
-
--static void amd_sched_fence_release(struct fence *f)
-+/**
-+ * amd_sched_fence_free - free up the fence memory
-+ *
-+ * @rcu: RCU callback head
-+ *
-+ * Free up the fence memory after the RCU grace period.
-+ */
-+static void amd_sched_fence_free(struct rcu_head *rcu)
- {
-+ struct fence *f = container_of(rcu, struct fence, rcu);
- struct amd_sched_fence *fence = to_amd_sched_fence(f);
- kmem_cache_free(sched_fence_slab, fence);
- }
-
-+/**
-+ * amd_sched_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 amd_sched_fence_release(struct fence *f)
-+{
-+ call_rcu(&f->rcu, amd_sched_fence_free);
-+}
-+
- const struct fence_ops amd_sched_fence_ops = {
- .get_driver_name = amd_sched_fence_get_driver_name,
- .get_timeline_name = amd_sched_fence_get_timeline_name,
---
-2.7.4
-