aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/0477-drm-amdgpu-skip-IB-tests-for-KIQ-in-general.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/0477-drm-amdgpu-skip-IB-tests-for-KIQ-in-general.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/0477-drm-amdgpu-skip-IB-tests-for-KIQ-in-general.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/0477-drm-amdgpu-skip-IB-tests-for-KIQ-in-general.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/0477-drm-amdgpu-skip-IB-tests-for-KIQ-in-general.patch
new file mode 100644
index 00000000..9418184a
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/0477-drm-amdgpu-skip-IB-tests-for-KIQ-in-general.patch
@@ -0,0 +1,43 @@
+From 8b19f64b4d037227ff39c3f5aa0476f533adb8aa Mon Sep 17 00:00:00 2001
+From: Pratik Vishwakarma <Pratik.Vishwakarma@amd.com>
+Date: Wed, 3 Oct 2018 20:45:11 +0530
+Subject: [PATCH 0477/2940] drm/amdgpu: skip IB tests for KIQ in general
+
+[Why]
+1. We never submit IBs to KIQ.
+2. Ring test pass without KIQ's ring also.
+3. By skipping we see an improvement of around 500ms
+ in the amdgpu's resume time.
+
+[How]
+skip IB tests for KIQ ring type.
+
+Signed-off-by: Shirish S <shirish.s@amd.com>
+Signed-off-by: Pratik Vishwakarma <Pratik.Vishwakarma@amd.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
+index 29ce4264c1ea..f92bb432e17d 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
+@@ -362,6 +362,14 @@ int amdgpu_ib_ring_tests(struct amdgpu_device *adev)
+ if (!ring || !ring->ready)
+ continue;
+
++ /* skip IB tests for KIQ in general for the below reasons:
++ * 1. We never submit IBs to the KIQ
++ * 2. KIQ doesn't use the EOP interrupts,
++ * we use some other CP interrupt.
++ */
++ if (ring->funcs->type == AMDGPU_RING_TYPE_KIQ)
++ continue;
++
+ /* MM engine need more time */
+ if (ring->funcs->type == AMDGPU_RING_TYPE_UVD ||
+ ring->funcs->type == AMDGPU_RING_TYPE_VCE ||
+--
+2.17.1
+