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:01:53 +0100
commit3e31371dfff93f98de3fd072491c3e84d0736cb8 (patch)
tree09cb0b951b1bcda3ce18f9add87ebbcc4aa4467b
parent58e37cfcb12aaf78a4cf899e221950a6f1ced491 (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 f8dffbf47498..87780cc7c0c3 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);
}
/**