diff options
Diffstat (limited to 'meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4610-drm-amdgpu-add-vcn-jpeg-ring-test.patch')
-rw-r--r-- | meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4610-drm-amdgpu-add-vcn-jpeg-ring-test.patch | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4610-drm-amdgpu-add-vcn-jpeg-ring-test.patch b/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4610-drm-amdgpu-add-vcn-jpeg-ring-test.patch deleted file mode 100644 index 202e3796..00000000 --- a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4610-drm-amdgpu-add-vcn-jpeg-ring-test.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 9fdac1484e5147fd9cf5d584f962170e91933b44 Mon Sep 17 00:00:00 2001 -From: Boyuan Zhang <boyuan.zhang@amd.com> -Date: Wed, 30 May 2018 15:49:51 -0400 -Subject: [PATCH 4610/5725] drm/amdgpu: add vcn jpeg ring test -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Add a ring test for vcn jpeg. - -Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com> -Reviewed-by: Christian König <christian.koenig@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 40 +++++++++++++++++++++++++++++++++ - drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h | 2 ++ - drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 2 +- - 3 files changed, 43 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c -index 50e2315..5bacf80 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c -@@ -583,3 +583,43 @@ int amdgpu_vcn_enc_ring_test_ib(struct amdgpu_ring *ring, long timeout) - dma_fence_put(fence); - return r; - } -+ -+int amdgpu_vcn_jpeg_ring_test_ring(struct amdgpu_ring *ring) -+{ -+ struct amdgpu_device *adev = ring->adev; -+ uint32_t tmp = 0; -+ unsigned i; -+ int r; -+ -+ WREG32(SOC15_REG_OFFSET(UVD, 0, mmUVD_CONTEXT_ID), 0xCAFEDEAD); -+ r = amdgpu_ring_alloc(ring, 3); -+ -+ if (r) { -+ DRM_ERROR("amdgpu: cp failed to lock ring %d (%d).\n", -+ ring->idx, r); -+ return r; -+ } -+ -+ amdgpu_ring_write(ring, -+ PACKETJ(SOC15_REG_OFFSET(UVD, 0, mmUVD_CONTEXT_ID), 0, 0, 0)); -+ amdgpu_ring_write(ring, 0xDEADBEEF); -+ amdgpu_ring_commit(ring); -+ -+ for (i = 0; i < adev->usec_timeout; i++) { -+ tmp = RREG32(SOC15_REG_OFFSET(UVD, 0, mmUVD_CONTEXT_ID)); -+ if (tmp == 0xDEADBEEF) -+ break; -+ DRM_UDELAY(1); -+ } -+ -+ if (i < adev->usec_timeout) { -+ DRM_DEBUG("ring test on %d succeeded in %d usecs\n", -+ ring->idx, i); -+ } else { -+ DRM_ERROR("amdgpu: ring %d test failed (0x%08X)\n", -+ ring->idx, tmp); -+ r = -EINVAL; -+ } -+ -+ return r; -+} -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h -index 6f3bed1..0447fae 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h -@@ -84,4 +84,6 @@ int amdgpu_vcn_dec_ring_test_ib(struct amdgpu_ring *ring, long timeout); - int amdgpu_vcn_enc_ring_test_ring(struct amdgpu_ring *ring); - int amdgpu_vcn_enc_ring_test_ib(struct amdgpu_ring *ring, long timeout); - -+int amdgpu_vcn_jpeg_ring_test_ring(struct amdgpu_ring *ring); -+ - #endif -diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c -index a7a166f..3d58236 100644 ---- a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c -@@ -1750,7 +1750,7 @@ static const struct amdgpu_ring_funcs vcn_v1_0_jpeg_ring_vm_funcs = { - .emit_ib = vcn_v1_0_jpeg_ring_emit_ib, - .emit_fence = vcn_v1_0_jpeg_ring_emit_fence, - .emit_vm_flush = vcn_v1_0_jpeg_ring_emit_vm_flush, -- //.test_ring -+ .test_ring = amdgpu_vcn_jpeg_ring_test_ring, - //.test_ib - .insert_nop = vcn_v1_0_jpeg_ring_nop, - .insert_start = vcn_v1_0_jpeg_ring_insert_start, --- -2.7.4 - |