diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0652-drm-amdgpu-use-common-fence-for-sync.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0652-drm-amdgpu-use-common-fence-for-sync.patch | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/common/recipes-kernel/linux/files/0652-drm-amdgpu-use-common-fence-for-sync.patch b/common/recipes-kernel/linux/files/0652-drm-amdgpu-use-common-fence-for-sync.patch deleted file mode 100644 index 23e86aab..00000000 --- a/common/recipes-kernel/linux/files/0652-drm-amdgpu-use-common-fence-for-sync.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 16545c32a5242634a51c6906533750cf1db54879 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> -Date: Thu, 22 Oct 2015 15:04:50 +0200 -Subject: [PATCH 0652/1565] drm/amdgpu: use common fence for sync -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Stop using the driver internal functions. - -Signed-off-by: Christian König <christian.koenig@amd.com> -Reviewed-by: Alex Deucher <alexander.deucher@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 +- - drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c | 21 +++++++++++---------- - 2 files changed, 12 insertions(+), 11 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -index 371994c..b986ea1 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -@@ -704,7 +704,7 @@ void amdgpu_semaphore_free(struct amdgpu_device *adev, - */ - struct amdgpu_sync { - struct amdgpu_semaphore *semaphores[AMDGPU_NUM_SYNCS]; -- struct amdgpu_fence *sync_to[AMDGPU_MAX_RINGS]; -+ struct fence *sync_to[AMDGPU_MAX_RINGS]; - DECLARE_HASHTABLE(fences, 4); - struct fence *last_vm_update; - }; -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c -index 0499d2b..c6489b1 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c -@@ -108,7 +108,6 @@ int amdgpu_sync_fence(struct amdgpu_device *adev, struct amdgpu_sync *sync, - { - struct amdgpu_sync_entry *e; - struct amdgpu_fence *fence; -- struct amdgpu_fence *other; - - if (!f) - return 0; -@@ -136,10 +135,7 @@ int amdgpu_sync_fence(struct amdgpu_device *adev, struct amdgpu_sync *sync, - return 0; - } - -- other = sync->sync_to[fence->ring->idx]; -- sync->sync_to[fence->ring->idx] = amdgpu_fence_ref( -- amdgpu_fence_later(fence, other)); -- amdgpu_fence_unref(&other); -+ amdgpu_sync_keep_later(&sync->sync_to[fence->ring->idx], f); - - return 0; - } -@@ -258,11 +254,11 @@ int amdgpu_sync_wait(struct amdgpu_sync *sync) - return 0; - - for (i = 0; i < AMDGPU_MAX_RINGS; ++i) { -- struct amdgpu_fence *fence = sync->sync_to[i]; -+ struct fence *fence = sync->sync_to[i]; - if (!fence) - continue; - -- r = fence_wait(&fence->base, false); -+ r = fence_wait(fence, false); - if (r) - return r; - } -@@ -287,9 +283,14 @@ int amdgpu_sync_rings(struct amdgpu_sync *sync, - int i, r; - - for (i = 0; i < AMDGPU_MAX_RINGS; ++i) { -- struct amdgpu_fence *fence = sync->sync_to[i]; -- struct amdgpu_semaphore *semaphore; - struct amdgpu_ring *other = adev->rings[i]; -+ struct amdgpu_semaphore *semaphore; -+ struct amdgpu_fence *fence; -+ -+ if (!sync->sync_to[i]) -+ continue; -+ -+ fence = to_amdgpu_fence(sync->sync_to[i]); - - /* check if we really need to sync */ - if (!amdgpu_fence_need_sync(fence, ring)) -@@ -374,7 +375,7 @@ void amdgpu_sync_free(struct amdgpu_device *adev, - amdgpu_semaphore_free(adev, &sync->semaphores[i], fence); - - for (i = 0; i < AMDGPU_MAX_RINGS; ++i) -- amdgpu_fence_unref(&sync->sync_to[i]); -+ fence_put(sync->sync_to[i]); - - fence_put(sync->last_vm_update); - } --- -1.9.1 - |