aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd
diff options
context:
space:
mode:
authorOded Gabbay <oded.gabbay@amd.com>2015-01-15 05:01:10 -0500
committerOded Gabbay <oded.gabbay@amd.com>2015-01-15 05:01:10 -0500
commit99331a51cc788cb60780278cf2d6b1105cf23828 (patch)
tree5ba5849387e83a4cd4af85b5a5d71dffd9b2607d /drivers/gpu/drm/amd
parentf0ec5b9905ca8dfc44c6419dc068a335208398a7 (diff)
drm/amdkfd: Replace cpu_relax() with schedule() in DQM
In order not to occupy the current core and thus prevent the core from servicing IOMMU PPR requests, this patch replaces the call in DQM to cpu_relax() with a call to schedule(). Signed-off-by: Oded Gabbay <oded.gabbay@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd')
-rw-r--r--drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c3
1 files changed, 2 insertions, 1 deletions
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 fad6877d33ad..e804e871ff82 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
@@ -26,6 +26,7 @@
26#include <linux/types.h> 26#include <linux/types.h>
27#include <linux/printk.h> 27#include <linux/printk.h>
28#include <linux/bitops.h> 28#include <linux/bitops.h>
29#include <linux/sched.h>
29#include "kfd_priv.h" 30#include "kfd_priv.h"
30#include "kfd_device_queue_manager.h" 31#include "kfd_device_queue_manager.h"
31#include "kfd_mqd_manager.h" 32#include "kfd_mqd_manager.h"
@@ -829,7 +830,7 @@ static int fence_wait_timeout(unsigned int *fence_addr,
829 pr_err("kfd: qcm fence wait loop timeout expired\n"); 830 pr_err("kfd: qcm fence wait loop timeout expired\n");
830 return -ETIME; 831 return -ETIME;
831 } 832 }
832 cpu_relax(); 833 schedule();
833 } 834 }
834 835
835 return 0; 836 return 0;