aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4031-drm-amdgpu-vcn-use-amdgpu_ring_test_helper.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4031-drm-amdgpu-vcn-use-amdgpu_ring_test_helper.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4031-drm-amdgpu-vcn-use-amdgpu_ring_test_helper.patch118
1 files changed, 118 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4031-drm-amdgpu-vcn-use-amdgpu_ring_test_helper.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4031-drm-amdgpu-vcn-use-amdgpu_ring_test_helper.patch
new file mode 100644
index 00000000..00e71c2f
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4031-drm-amdgpu-vcn-use-amdgpu_ring_test_helper.patch
@@ -0,0 +1,118 @@
+From 68d106a155cabeec5acc1ea112e172fb5868a4ee Mon Sep 17 00:00:00 2001
+From: Leo Liu <leo.liu@amd.com>
+Date: Tue, 1 Oct 2019 18:08:46 -0400
+Subject: [PATCH 4031/4256] drm/amdgpu/vcn: use amdgpu_ring_test_helper
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Instead of amdgpu_ring_test_ring, so the helper function determines
+whether the ring is ready
+
+Signed-off-by: Leo Liu <leo.liu@amd.com>
+Reviewed-by: Christian König <christian.koenig@amd.com>
+Reviewed-by: James Zhu <James.Zhu@amd.com>
+Acked-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
+Cc: Gustavo A. R. Silva <gustavo@embeddedor.com>
+---
+ drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 1 -
+ drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c | 21 ++++++---------------
+ drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c | 18 ++++++------------
+ 3 files changed, 12 insertions(+), 28 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
+index 07a2f36ea7ce..b23362102e51 100644
+--- a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
++++ b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
+@@ -202,7 +202,6 @@ static int vcn_v1_0_hw_init(void *handle)
+
+ for (i = 0; i < adev->vcn.num_enc_rings; ++i) {
+ ring = &adev->vcn.inst->ring_enc[i];
+- ring->sched.ready = true;
+ r = amdgpu_ring_test_helper(ring);
+ if (r)
+ goto done;
+diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c b/drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c
+index 5a590064bfff..16f192f6c967 100644
+--- a/drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c
++++ b/drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c
+@@ -247,30 +247,21 @@ static int vcn_v2_0_hw_init(void *handle)
+ adev->nbio.funcs->vcn_doorbell_range(adev, ring->use_doorbell,
+ ring->doorbell_index, 0);
+
+- ring->sched.ready = true;
+- r = amdgpu_ring_test_ring(ring);
+- if (r) {
+- ring->sched.ready = false;
++ r = amdgpu_ring_test_helper(ring);
++ if (r)
+ goto done;
+- }
+
+ for (i = 0; i < adev->vcn.num_enc_rings; ++i) {
+ ring = &adev->vcn.inst->ring_enc[i];
+- ring->sched.ready = true;
+- r = amdgpu_ring_test_ring(ring);
+- if (r) {
+- ring->sched.ready = false;
++ r = amdgpu_ring_test_helper(ring);
++ if (r)
+ goto done;
+- }
+ }
+
+ ring = &adev->vcn.inst->ring_jpeg;
+- ring->sched.ready = true;
+- r = amdgpu_ring_test_ring(ring);
+- if (r) {
+- ring->sched.ready = false;
++ r = amdgpu_ring_test_helper(ring);
++ if (r)
+ goto done;
+- }
+
+ done:
+ if (!r)
+diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c b/drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c
+index 22e4644521dc..4840f110bbed 100644
+--- a/drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c
++++ b/drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c
+@@ -258,29 +258,23 @@ static int vcn_v2_5_hw_init(void *handle)
+ adev->nbio.funcs->vcn_doorbell_range(adev, ring->use_doorbell,
+ ring->doorbell_index, j);
+
+- r = amdgpu_ring_test_ring(ring);
+- if (r) {
+- ring->sched.ready = false;
++ r = amdgpu_ring_test_helper(ring);
++ if (r)
+ goto done;
+- }
+
+ for (i = 0; i < adev->vcn.num_enc_rings; ++i) {
+ ring = &adev->vcn.inst[j].ring_enc[i];
+ ring->sched.ready = false;
+ continue;
+- r = amdgpu_ring_test_ring(ring);
+- if (r) {
+- ring->sched.ready = false;
++ r = amdgpu_ring_test_helper(ring);
++ if (r)
+ goto done;
+- }
+ }
+
+ ring = &adev->vcn.inst[j].ring_jpeg;
+- r = amdgpu_ring_test_ring(ring);
+- if (r) {
+- ring->sched.ready = false;
++ r = amdgpu_ring_test_helper(ring);
++ if (r)
+ goto done;
+- }
+ }
+ done:
+ if (!r)
+--
+2.17.1
+