Skip to content

Commit ee60209

Browse files
committed
drm/amdgpu/gfx9: re-emit unprocessed state on kcq reset
Re-emit the unprocessed state after resetting the queue. Reviewed-by: Jesse Zhang <[email protected]> Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent 81df6bf commit ee60209

File tree

1 file changed

+2
-8
lines changed

1 file changed

+2
-8
lines changed

drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7189,7 +7189,7 @@ static int gfx_v9_0_reset_kcq(struct amdgpu_ring *ring,
71897189
if (!kiq->pmf || !kiq->pmf->kiq_unmap_queues)
71907190
return -EINVAL;
71917191

7192-
drm_sched_wqueue_stop(&ring->sched);
7192+
amdgpu_ring_reset_helper_begin(ring, timedout_fence);
71937193

71947194
spin_lock_irqsave(&kiq->ring_lock, flags);
71957195

@@ -7246,13 +7246,7 @@ static int gfx_v9_0_reset_kcq(struct amdgpu_ring *ring,
72467246
DRM_ERROR("fail to remap queue\n");
72477247
return r;
72487248
}
7249-
7250-
r = amdgpu_ring_test_ring(ring);
7251-
if (r)
7252-
return r;
7253-
amdgpu_fence_driver_force_completion(ring);
7254-
drm_sched_wqueue_start(&ring->sched);
7255-
return 0;
7249+
return amdgpu_ring_reset_helper_end(ring, timedout_fence);
72567250
}
72577251

72587252
static void gfx_v9_ip_print(struct amdgpu_ip_block *ip_block, struct drm_printer *p)

0 commit comments

Comments
 (0)