From 80f6b63e729fbda4ea9cce86cc317f69b8ba2ede Mon Sep 17 00:00:00 2001 From: Lucas Stach Date: Wed, 7 Jun 2023 15:02:17 +0200 Subject: [PATCH] drm/etnaviv: free events the usual way in recover worker Clearing the whole bitmap at once is only a minor optimization in a path that should be extremely cold. Free the events by calling event_free() instead of directly manipulating the completion count and event bitmap. Signed-off-by: Lucas Stach Reviewed-by: Christian Gmeiner --- drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c index 9279071..e067a27 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c @@ -1450,8 +1450,7 @@ void etnaviv_gpu_recover_hang(struct etnaviv_gem_submit *submit) /* complete all events, the GPU won't do it after the reset */ spin_lock(&gpu->event_spinlock); for_each_set_bit(i, gpu->event_bitmap, ETNA_NR_EVENTS) - complete(&gpu->event_free); - bitmap_zero(gpu->event_bitmap, ETNA_NR_EVENTS); + event_free(gpu, i); spin_unlock(&gpu->event_spinlock); etnaviv_gpu_hw_init(gpu); -- 2.7.4