aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0149-amdgpu-vce3-Simplify-vce_v3_0_hw_init-and-ensure-bot.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0149-amdgpu-vce3-Simplify-vce_v3_0_hw_init-and-ensure-bot.patch')
-rw-r--r--common/recipes-kernel/linux/files/0149-amdgpu-vce3-Simplify-vce_v3_0_hw_init-and-ensure-bot.patch64
1 files changed, 64 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0149-amdgpu-vce3-Simplify-vce_v3_0_hw_init-and-ensure-bot.patch b/common/recipes-kernel/linux/files/0149-amdgpu-vce3-Simplify-vce_v3_0_hw_init-and-ensure-bot.patch
new file mode 100644
index 00000000..b06f802f
--- /dev/null
+++ b/common/recipes-kernel/linux/files/0149-amdgpu-vce3-Simplify-vce_v3_0_hw_init-and-ensure-bot.patch
@@ -0,0 +1,64 @@
+From b22c8cdefe4b97e402c9387cb063fc3aaf7c2e1b Mon Sep 17 00:00:00 2001
+From: Tom St Denis <tom.stdenis@amd.com>
+Date: Tue, 15 Dec 2015 10:55:34 -0500
+Subject: [PATCH 0149/1110] amdgpu/vce3: Simplify vce_v3_0_hw_init and ensure
+ both rings default to not ready.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Simplified the ring test and added logic to ensure rings are marked not ready
+by default.
+
+Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Reviewed-by: Christian König <christian.koenig@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | 24 +++++++++---------------
+ 1 file changed, 9 insertions(+), 15 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c b/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c
+index ad56b1f..e99af81 100644
+--- a/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c
++++ b/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c
+@@ -414,28 +414,22 @@ static int vce_v3_0_sw_fini(void *handle)
+
+ static int vce_v3_0_hw_init(void *handle)
+ {
+- struct amdgpu_ring *ring;
+- int r;
++ int r, i;
+ struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+
+ r = vce_v3_0_start(adev);
+ if (r)
+ return r;
+
+- ring = &adev->vce.ring[0];
+- ring->ready = true;
+- r = amdgpu_ring_test_ring(ring);
+- if (r) {
+- ring->ready = false;
+- return r;
+- }
++ adev->vce.ring[0].ready = false;
++ adev->vce.ring[1].ready = false;
+
+- ring = &adev->vce.ring[1];
+- ring->ready = true;
+- r = amdgpu_ring_test_ring(ring);
+- if (r) {
+- ring->ready = false;
+- return r;
++ for (i = 0; i < 2; i++) {
++ r = amdgpu_ring_test_ring(&adev->vce.ring[i]);
++ if (r)
++ return r;
++ else
++ adev->vce.ring[i].ready = true;
+ }
+
+ DRM_INFO("VCE initialized successfully.\n");
+--
+2.7.4
+