diff options
| author | Jack Xiao <[email protected]> | 2019-01-10 06:28:08 +0000 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2019-06-21 14:30:45 +0000 |
| commit | ef3e13238b5f27412651387ac4c210ba2d7ea312 (patch) | |
| tree | 9fb69a81a63a4f5489b644c46df455ea80003db4 /drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | |
| parent | drm/amdgpu: Add helper function amdgpu_ring_set_preempt_cond_exec (diff) | |
| download | kernel-ef3e13238b5f27412651387ac4c210ba2d7ea312.tar.gz kernel-ef3e13238b5f27412651387ac4c210ba2d7ea312.zip | |
drm/amdgpu: add the trailing fence per ring
The trailing fence for ring is used to track the
completion of preemption.
Acked-by: Hawking Zhang <[email protected]>
Signed-off-by: Jack Xiao <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c index ff6976eaa919..233729ed71cc 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c @@ -281,6 +281,16 @@ int amdgpu_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring, return r; } + r = amdgpu_device_wb_get(adev, &ring->trail_fence_offs); + if (r) { + dev_err(adev->dev, + "(%d) ring trail_fence_offs wb alloc failed\n", r); + return r; + } + ring->trail_fence_gpu_addr = + adev->wb.gpu_addr + (ring->trail_fence_offs * 4); + ring->trail_fence_cpu_addr = &adev->wb.wb[ring->trail_fence_offs]; + r = amdgpu_device_wb_get(adev, &ring->cond_exe_offs); if (r) { dev_err(adev->dev, "(%d) ring cond_exec_polling wb alloc failed\n", r); |
