aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3609-drm-amdgpu-cond_exec-only-for-schedule-with-a-job.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3609-drm-amdgpu-cond_exec-only-for-schedule-with-a-job.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3609-drm-amdgpu-cond_exec-only-for-schedule-with-a-job.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3609-drm-amdgpu-cond_exec-only-for-schedule-with-a-job.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3609-drm-amdgpu-cond_exec-only-for-schedule-with-a-job.patch
new file mode 100644
index 00000000..e922821b
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3609-drm-amdgpu-cond_exec-only-for-schedule-with-a-job.patch
@@ -0,0 +1,43 @@
+From bb21c8fdc8eadf04418c11b0b9ed8640238383a2 Mon Sep 17 00:00:00 2001
+From: Monk Liu <Monk.Liu@amd.com>
+Date: Fri, 19 Jan 2018 19:06:31 +0800
+Subject: [PATCH 3609/4131] drm/amdgpu: cond_exec only for schedule with a job
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+issue:
+under SR-IOV sometimes the iB test will fail on
+gfx ring
+
+fix:
+with cond_exec inserted in RB the gfx engine would
+skip part packets if RLCV issue PREEMPT on gfx engine
+if gfx engine is prior to COND_EXEC packet, this is
+okay for regular command from UMD, but for the ib test
+since the whole dma format doesn't support PREEMPT
+so must remove the COND_EXEC from it.
+
+Change-Id: I73bd0479bf1307139ff3726a00c312526054aa6d
+Signed-off-by: Monk Liu <Monk.Liu@amd.com>
+Reviewed-by: Christian König <christian.koenig@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
+index e0b9200..f45d906 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
+@@ -189,7 +189,7 @@ int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned num_ibs,
+ }
+ }
+
+- if (ring->funcs->init_cond_exec)
++ if (job && ring->funcs->init_cond_exec)
+ patch_offset = amdgpu_ring_init_cond_exec(ring);
+
+ if (ring->funcs->emit_hdp_flush
+--
+2.7.4
+