summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrendan King <Brendan.King@imgtec.com>2025-02-26 15:43:54 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-03-13 13:07:43 +0100
commit09d51111f57bf868cef7e0078c9ac9b81e827df4 (patch)
tree0306aab98aed0ba153145e9d4c8935eeacf1fa0c
parentcd23f3d098b015811284e61af898f9c2899a3753 (diff)
drm/imagination: only init job done fences once
commit 68c3de7f707e8a70e0a6d8087cf0fe4a3d5dbfb0 upstream. Ensure job done fences are only initialised once. This fixes a memory manager not clean warning from drm_mm_takedown on module unload. Cc: stable@vger.kernel.org Fixes: eaf01ee5ba28 ("drm/imagination: Implement job submission and scheduling") Signed-off-by: Brendan King <brendan.king@imgtec.com> Reviewed-by: Matt Coster <matt.coster@imgtec.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250226-init-done-fences-once-v2-1-c1b2f556b329@imgtec.com Signed-off-by: Matt Coster <matt.coster@imgtec.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/gpu/drm/imagination/pvr_queue.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/imagination/pvr_queue.c b/drivers/gpu/drm/imagination/pvr_queue.c
index f3f1c5212df7..43411be930a2 100644
--- a/drivers/gpu/drm/imagination/pvr_queue.c
+++ b/drivers/gpu/drm/imagination/pvr_queue.c
@@ -313,8 +313,9 @@ pvr_queue_cccb_fence_init(struct dma_fence *fence, struct pvr_queue *queue)
static void
pvr_queue_job_fence_init(struct dma_fence *fence, struct pvr_queue *queue)
{
- pvr_queue_fence_init(fence, queue, &pvr_queue_job_fence_ops,
- &queue->job_fence_ctx);
+ if (!fence->ops)
+ pvr_queue_fence_init(fence, queue, &pvr_queue_job_fence_ops,
+ &queue->job_fence_ctx);
}
/**