diff options
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.patch | 118 |
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 + |