diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0282-drm-amdgpu-send-VCE-IB-tests-directly-to-the-ring-ag.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0282-drm-amdgpu-send-VCE-IB-tests-directly-to-the-ring-ag.patch | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/common/recipes-kernel/linux/files/0282-drm-amdgpu-send-VCE-IB-tests-directly-to-the-ring-ag.patch b/common/recipes-kernel/linux/files/0282-drm-amdgpu-send-VCE-IB-tests-directly-to-the-ring-ag.patch deleted file mode 100644 index 62a30479..00000000 --- a/common/recipes-kernel/linux/files/0282-drm-amdgpu-send-VCE-IB-tests-directly-to-the-ring-ag.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 5fe0e3fc256e398fd1de01345ee3783801e2fef8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> -Date: Wed, 3 Feb 2016 16:50:56 +0100 -Subject: [PATCH 0282/1110] drm/amdgpu: send VCE IB tests directly to the ring - again -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -We need the IB test for GPU resets as well and -the scheduler should be stoped then. - -Signed-off-by: Christian König <christian.koenig@amd.com> -Reviewed-by: Alex Deucher <alexander.deucer@amd.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> -Signed-off-by: Kalyan Alle <kalyan.alle@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 27 ++++++++++++++++++++++----- - drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h | 2 +- - 2 files changed, 23 insertions(+), 6 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c -index 26cc9e4..2c055b1 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c -@@ -338,7 +338,7 @@ void amdgpu_vce_free_handles(struct amdgpu_device *adev, struct drm_file *filp) - - amdgpu_vce_note_usage(adev); - -- r = amdgpu_vce_get_destroy_msg(ring, handle, NULL); -+ r = amdgpu_vce_get_destroy_msg(ring, handle, false, NULL); - if (r) - DRM_ERROR("Error destroying VCE handle (%d)!\n", r); - -@@ -428,8 +428,12 @@ int amdgpu_vce_get_create_msg(struct amdgpu_ring *ring, uint32_t handle, - &amdgpu_vce_free_job, - AMDGPU_FENCE_OWNER_UNDEFINED, - &f); -+ r = amdgpu_ib_schedule(ring, 1, ib, AMDGPU_FENCE_OWNER_UNDEFINED, &f); -+ - if (r) - goto err; -+ -+ amdgpu_job_free(job); - if (fence) - *fence = fence_get(f); - fence_put(f); -@@ -451,7 +455,7 @@ err: - * Close up a stream for HW test or if userspace failed to do so - */ - int amdgpu_vce_get_destroy_msg(struct amdgpu_ring *ring, uint32_t handle, -- struct fence **fence) -+ bool direct, struct fence **fence) - { - const unsigned ib_size_dw = 1024; - struct amdgpu_ib *ib = NULL; -@@ -494,8 +498,21 @@ int amdgpu_vce_get_destroy_msg(struct amdgpu_ring *ring, uint32_t handle, - &amdgpu_vce_free_job, - AMDGPU_FENCE_OWNER_UNDEFINED, - &f); -- if (r) -- goto err; -+ -+ if (direct) { -+ r = amdgpu_ib_schedule(ring, 1, ib, -+ AMDGPU_FENCE_OWNER_UNDEFINED, &f); -+ if (r) -+ goto err; -+ -+ amdgpu_job_free(job); -+ } else { -+ r = amdgpu_job_submit(job, ring, -+ AMDGPU_FENCE_OWNER_UNDEFINED, &f); -+ if (r) -+ goto err; -+ } -+ - if (fence) - *fence = fence_get(f); - fence_put(f); -@@ -836,7 +853,7 @@ int amdgpu_vce_ring_test_ib(struct amdgpu_ring *ring) - goto error; - } - -- r = amdgpu_vce_get_destroy_msg(ring, 1, &fence); -+ r = amdgpu_vce_get_destroy_msg(ring, 1, true, &fence); - if (r) { - DRM_ERROR("amdgpu: failed to get destroy ib (%d).\n", r); - goto error; -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h -index 5538cf7..ef99d23 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h -@@ -31,7 +31,7 @@ int amdgpu_vce_resume(struct amdgpu_device *adev); - int amdgpu_vce_get_create_msg(struct amdgpu_ring *ring, uint32_t handle, - struct fence **fence); - int amdgpu_vce_get_destroy_msg(struct amdgpu_ring *ring, uint32_t handle, -- struct fence **fence); -+ bool direct, struct fence **fence); - void amdgpu_vce_free_handles(struct amdgpu_device *adev, struct drm_file *filp); - int amdgpu_vce_ring_parse_cs(struct amdgpu_cs_parser *p, uint32_t ib_idx); - void amdgpu_vce_ring_emit_ib(struct amdgpu_ring *ring, struct amdgpu_ib *ib); --- -2.7.4 - |