aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0404-drm-amdgpu-Use-gpu-scheduler-for-gfx-ring-ib-test.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0404-drm-amdgpu-Use-gpu-scheduler-for-gfx-ring-ib-test.patch')
-rw-r--r--common/recipes-kernel/linux/files/0404-drm-amdgpu-Use-gpu-scheduler-for-gfx-ring-ib-test.patch134
1 files changed, 0 insertions, 134 deletions
diff --git a/common/recipes-kernel/linux/files/0404-drm-amdgpu-Use-gpu-scheduler-for-gfx-ring-ib-test.patch b/common/recipes-kernel/linux/files/0404-drm-amdgpu-Use-gpu-scheduler-for-gfx-ring-ib-test.patch
deleted file mode 100644
index 8a31a532..00000000
--- a/common/recipes-kernel/linux/files/0404-drm-amdgpu-Use-gpu-scheduler-for-gfx-ring-ib-test.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-From 42d13693c01f895d7918ed49c65c0c4844027314 Mon Sep 17 00:00:00 2001
-From: Chunming Zhou <david1.zhou@amd.com>
-Date: Mon, 1 Jun 2015 15:16:03 +0800
-Subject: [PATCH 0404/1050] drm/amdgpu: Use gpu scheduler for gfx ring ib test
-
-Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
-Reviewed-by: Christian K?nig <christian.koenig@amd.com>
----
- drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 28 ++++++++++++++--------------
- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 27 +++++++++++++--------------
- 2 files changed, 27 insertions(+), 28 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
-index 54a2bf8..5fc104b 100644
---- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
-+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
-@@ -2662,26 +2662,22 @@ static int gfx_v7_0_ring_test_ib(struct amdgpu_ring *ring)
- r = amdgpu_ib_get(ring, NULL, 256, &ib);
- if (r) {
- DRM_ERROR("amdgpu: failed to get ib (%d).\n", r);
-- amdgpu_gfx_scratch_free(adev, scratch);
-- return r;
-+ goto err1;
- }
- ib.ptr[0] = PACKET3(PACKET3_SET_UCONFIG_REG, 1);
- ib.ptr[1] = ((scratch - PACKET3_SET_UCONFIG_REG_START));
- ib.ptr[2] = 0xDEADBEEF;
- ib.length_dw = 3;
-- r = amdgpu_ib_schedule(adev, 1, &ib, AMDGPU_FENCE_OWNER_UNDEFINED);
-- if (r) {
-- amdgpu_gfx_scratch_free(adev, scratch);
-- amdgpu_ib_free(adev, &ib);
-- DRM_ERROR("amdgpu: failed to schedule ib (%d).\n", r);
-- return r;
-- }
-+
-+ r = amdgpu_sched_ib_submit_kernel_helper(adev, ring, &ib, 1, NULL,
-+ AMDGPU_FENCE_OWNER_UNDEFINED);
-+ if (r)
-+ goto err2;
-+
- r = amdgpu_fence_wait(ib.fence, false);
- if (r) {
- DRM_ERROR("amdgpu: fence wait failed (%d).\n", r);
-- amdgpu_gfx_scratch_free(adev, scratch);
-- amdgpu_ib_free(adev, &ib);
-- return r;
-+ goto err2;
- }
- for (i = 0; i < adev->usec_timeout; i++) {
- tmp = RREG32(scratch);
-@@ -2691,14 +2687,18 @@ static int gfx_v7_0_ring_test_ib(struct amdgpu_ring *ring)
- }
- if (i < adev->usec_timeout) {
- DRM_INFO("ib test on ring %d succeeded in %u usecs\n",
-- ib.fence->ring->idx, i);
-+ ring->idx, i);
-+ goto err2;
- } else {
- DRM_ERROR("amdgpu: ib test failed (scratch(0x%04X)=0x%08X)\n",
- scratch, tmp);
- r = -EINVAL;
- }
-- amdgpu_gfx_scratch_free(adev, scratch);
-+
-+err2:
- amdgpu_ib_free(adev, &ib);
-+err1:
-+ amdgpu_gfx_scratch_free(adev, scratch);
- return r;
- }
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
-index b9381fb..81fa592 100644
---- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
-+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
-@@ -624,26 +624,22 @@ static int gfx_v8_0_ring_test_ib(struct amdgpu_ring *ring)
- r = amdgpu_ib_get(ring, NULL, 256, &ib);
- if (r) {
- DRM_ERROR("amdgpu: failed to get ib (%d).\n", r);
-- amdgpu_gfx_scratch_free(adev, scratch);
-- return r;
-+ goto err1;
- }
- ib.ptr[0] = PACKET3(PACKET3_SET_UCONFIG_REG, 1);
- ib.ptr[1] = ((scratch - PACKET3_SET_UCONFIG_REG_START));
- ib.ptr[2] = 0xDEADBEEF;
- ib.length_dw = 3;
-- r = amdgpu_ib_schedule(adev, 1, &ib, AMDGPU_FENCE_OWNER_UNDEFINED);
-- if (r) {
-- amdgpu_gfx_scratch_free(adev, scratch);
-- amdgpu_ib_free(adev, &ib);
-- DRM_ERROR("amdgpu: failed to schedule ib (%d).\n", r);
-- return r;
-- }
-+
-+ r = amdgpu_sched_ib_submit_kernel_helper(adev, ring, &ib, 1, NULL,
-+ AMDGPU_FENCE_OWNER_UNDEFINED);
-+ if (r)
-+ goto err2;
-+
- r = amdgpu_fence_wait(ib.fence, false);
- if (r) {
- DRM_ERROR("amdgpu: fence wait failed (%d).\n", r);
-- amdgpu_gfx_scratch_free(adev, scratch);
-- amdgpu_ib_free(adev, &ib);
-- return r;
-+ goto err2;
- }
- for (i = 0; i < adev->usec_timeout; i++) {
- tmp = RREG32(scratch);
-@@ -653,14 +649,17 @@ static int gfx_v8_0_ring_test_ib(struct amdgpu_ring *ring)
- }
- if (i < adev->usec_timeout) {
- DRM_INFO("ib test on ring %d succeeded in %u usecs\n",
-- ib.fence->ring->idx, i);
-+ ring->idx, i);
-+ goto err2;
- } else {
- DRM_ERROR("amdgpu: ib test failed (scratch(0x%04X)=0x%08X)\n",
- scratch, tmp);
- r = -EINVAL;
- }
-- amdgpu_gfx_scratch_free(adev, scratch);
-+err2:
- amdgpu_ib_free(adev, &ib);
-+err1:
-+ amdgpu_gfx_scratch_free(adev, scratch);
- return r;
- }
-
---
-1.9.1
-