aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/1332-drm-amdkfd-Temporarily-avoid-resetting-wavefronts-wh.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/1332-drm-amdkfd-Temporarily-avoid-resetting-wavefronts-wh.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/1332-drm-amdkfd-Temporarily-avoid-resetting-wavefronts-wh.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/1332-drm-amdkfd-Temporarily-avoid-resetting-wavefronts-wh.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/1332-drm-amdkfd-Temporarily-avoid-resetting-wavefronts-wh.patch
new file mode 100644
index 00000000..2aca4e0d
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/1332-drm-amdkfd-Temporarily-avoid-resetting-wavefronts-wh.patch
@@ -0,0 +1,45 @@
+From f36ade7ee9bbde346d83d54bfdbe0f82a15e51c2 Mon Sep 17 00:00:00 2001
+From: Yong Zhao <Yong.Zhao@amd.com>
+Date: Mon, 21 Aug 2017 19:08:32 -0400
+Subject: [PATCH 1332/4131] drm/amdkfd: Temporarily avoid resetting wavefronts
+ when unmapping queues
+
+This is a quick workaround. Our ultimate objective is to implement the
+by-pasid queue reset.
+
+Change-Id: Ibd9f908ccb09b2fb35486403df03e3e49b1535eb
+Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
+---
+ drivers/gpu/drm/amd/amdkfd/cik_event_interrupt.c | 2 +-
+ drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdkfd/cik_event_interrupt.c b/drivers/gpu/drm/amd/amdkfd/cik_event_interrupt.c
+index 5d9a9d1..2b93c32 100644
+--- a/drivers/gpu/drm/amd/amdkfd/cik_event_interrupt.c
++++ b/drivers/gpu/drm/amd/amdkfd/cik_event_interrupt.c
+@@ -97,7 +97,7 @@ static void cik_event_interrupt_wq(struct kfd_dev *dev,
+
+ memset(&info, 0, sizeof(info));
+ dev->kfd2kgd->get_vm_fault_info(dev->kgd, &info);
+- kfd_process_vm_fault(dev->dqm, ihre->pasid, true);
++ kfd_process_vm_fault(dev->dqm, ihre->pasid, false);
+ if (!info.page_addr && !info.status)
+ return;
+
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
+index 00b8c79..461abb8 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
+@@ -1546,7 +1546,7 @@ static int process_termination_cpsch(struct device_queue_manager *dqm,
+ }
+ }
+
+- retval = execute_queues_cpsch(dqm, true, true);
++ retval = execute_queues_cpsch(dqm, true, false);
+
+ if (retval || qpd->reset_wavefronts) {
+ pr_warn("Resetting wave fronts (cpsch) on dev %p\n", dqm->dev);
+--
+2.7.4
+