[PATCH] drm/imagination: take paired job reference

2025-03-18 Thread Brendan King via B4 Relay
From: Brendan King For paired jobs, have the fragment job take a reference on the geometry job, so that the geometry job cannot be freed until the fragment job has finished with it. The geometry job structure is accessed when the fragment job is being prepared by the GPU scheduler. Taking the re

[PATCH] drm/imagination: fix firmware memory leaks

2025-03-18 Thread Brendan King via B4 Relay
From: Brendan King Free the memory used to hold the results of firmware image processing when the module is unloaded. Fix the related issue of the same memory being leaked if processing of the firmware image fails during module load. Ensure all firmware GEM objects are destroyed if firmware ima

[PATCH v2] drm/imagination: avoid deadlock on fence release

2025-02-26 Thread Brendan King via B4 Relay
From: Brendan King Do scheduler queue fence release processing on a workqueue, rather than in the release function itself. Fixes deadlock issues such as the following: [ 607.400437] [ 607.405755] WARNING: possible recursive locking detected [ 607.

[PATCH v2] drm/imagination: only init job done fences once

2025-02-26 Thread Brendan King via B4 Relay
From: Brendan King Ensure job done fences are only initialised once. This fixes a memory manager not clean warning from drm_mm_takedown on module unload. Cc: sta...@vger.kernel.org Fixes: eaf01ee5ba28 ("drm/imagination: Implement job submission and scheduling") Signed-off-by: Brendan King ---

[PATCH v2] drm/imagination: Hold drm_gem_gpuva lock for unmap

2025-02-26 Thread Brendan King via B4 Relay
From: Brendan King Avoid a warning from drm_gem_gpuva_assert_lock_held in drm_gpuva_unlink. The Imagination driver uses the GEM object reservation lock to protect the gpuva list, but the GEM object was not always known in the code paths that ended up calling drm_gpuva_unlink. When the GEM object

[PATCH] drm/imagination: Hold drm_gem_gpuva lock for unmap

2025-02-03 Thread Brendan King via B4 Relay
From: Brendan King Avoid a warning from drm_gem_gpuva_assert_lock_held in drm_gpuva_unlink. The Imagination driver uses the GEM object reservation lock to protect the gpuva list, but the GEM object was not always known in the code paths that ended up calling drm_gpuva_unlink. When the GEM object

[PATCH] drm/imagination: avoid deadlock on fence release

2025-02-03 Thread Brendan King via B4 Relay
From: Brendan King Do scheduler queue fence release processing on a workqueue, rather than in the release function itself. Fixes deadlock issues such as the following: [ 607.400437] [ 607.405755] WARNING: possible recursive locking detected [ 607.

[PATCH] drm/imagination: only init job done fences once

2025-02-03 Thread Brendan King via B4 Relay
From: Brendan King Ensure job done fences are only initialised once. This fixes a memory manager not clean warning from drm_mm_takedown on module unload. Signed-off-by: Brendan King --- drivers/gpu/drm/imagination/pvr_queue.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --