amdkfd: use schedule() in sync_with_hw
authorOded Gabbay <oded.gabbay@amd.com>
Mon, 17 Nov 2014 11:18:32 +0000 (13:18 +0200)
committerOded Gabbay <oded.gabbay@amd.com>
Mon, 17 Nov 2014 11:18:32 +0000 (13:18 +0200)
commit9a5634a72934a566b3e5fdb0e8f345846162f7d3
tree84dde270498d7911238e3a5fe07589cb5eb6a504
parentf5d896bbd03a03bef436d9358599b50962095f38
amdkfd: use schedule() in sync_with_hw

amdkfd uses cpu_relax() in its sync_with_hw() function. Because cpu_relax() is
defined as 'REP; NOP' on x86_64, it will block the CPU from servicing
IOMMU PPR requests.

This may cause a deadlock, because sync_with_hw() won't be completed
until the PPR request has been served.

Therefore, we need to use schedule() instead of cpu_relax() as it is the
minimum requirement to allow other threads to execute.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c