diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c index 9e25edafa721..3b58d70b73cd 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | |||
@@ -141,11 +141,7 @@ int amdgpu_ib_schedule(struct amdgpu_device *adev, unsigned num_ibs, | |||
141 | dev_err(adev->dev, "couldn't schedule ib\n"); | 141 | dev_err(adev->dev, "couldn't schedule ib\n"); |
142 | return -EINVAL; | 142 | return -EINVAL; |
143 | } | 143 | } |
144 | r = amdgpu_sync_wait(&ibs->sync); | 144 | |
145 | if (r) { | ||
146 | dev_err(adev->dev, "IB sync failed (%d).\n", r); | ||
147 | return r; | ||
148 | } | ||
149 | r = amdgpu_ring_lock(ring, (256 + AMDGPU_NUM_SYNCS * 8) * num_ibs); | 145 | r = amdgpu_ring_lock(ring, (256 + AMDGPU_NUM_SYNCS * 8) * num_ibs); |
150 | if (r) { | 146 | if (r) { |
151 | dev_err(adev->dev, "scheduling IB failed (%d).\n", r); | 147 | dev_err(adev->dev, "scheduling IB failed (%d).\n", r); |
@@ -161,10 +157,10 @@ int amdgpu_ib_schedule(struct amdgpu_device *adev, unsigned num_ibs, | |||
161 | } | 157 | } |
162 | } | 158 | } |
163 | 159 | ||
164 | r = amdgpu_sync_rings(&ibs->sync, ring); | 160 | r = amdgpu_sync_wait(&ibs->sync); |
165 | if (r) { | 161 | if (r) { |
166 | amdgpu_ring_unlock_undo(ring); | 162 | amdgpu_ring_unlock_undo(ring); |
167 | dev_err(adev->dev, "failed to sync rings (%d)\n", r); | 163 | dev_err(adev->dev, "failed to sync wait (%d)\n", r); |
168 | return r; | 164 | return r; |
169 | } | 165 | } |
170 | 166 | ||