diff options
author | 2020-06-30 11:32:02 +0200 | |
---|---|---|
committer | 2020-06-30 11:32:02 +0200 | |
commit | 77346a704c913268a2dad68d59523fd85dc74088 (patch) | |
tree | 62c66bcb163b0db42a1fd0a397a6973e52f4ddce /drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | |
parent | iommu/qcom: add optional 'tbu' clock for TLB invalidate (diff) | |
parent | Linux 5.8-rc3 (diff) | |
download | wireguard-linux-77346a704c913268a2dad68d59523fd85dc74088.tar.xz wireguard-linux-77346a704c913268a2dad68d59523fd85dc74088.zip |
Merge tag 'v5.8-rc3' into arm/qcom
Linux 5.8-rc3
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c index 7531527067df..d878fe7fee51 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c @@ -192,14 +192,22 @@ int amdgpu_fence_emit(struct amdgpu_ring *ring, struct dma_fence **f, * Used For polling fence. * Returns 0 on success, -ENOMEM on failure. */ -int amdgpu_fence_emit_polling(struct amdgpu_ring *ring, uint32_t *s) +int amdgpu_fence_emit_polling(struct amdgpu_ring *ring, uint32_t *s, + uint32_t timeout) { uint32_t seq; + signed long r; if (!s) return -EINVAL; seq = ++ring->fence_drv.sync_seq; + r = amdgpu_fence_wait_polling(ring, + seq - ring->fence_drv.num_fences_mask, + timeout); + if (r < 1) + return -ETIMEDOUT; + amdgpu_ring_emit_fence(ring, ring->fence_drv.gpu_addr, seq, 0); |