diff options
| author | Francois Dugast <francois.dugast@intel.com> | 2024-08-09 18:51:31 +0300 |
|---|---|---|
| committer | Matthew Brost <matthew.brost@intel.com> | 2024-08-18 04:31:54 +0300 |
| commit | 0d92cd8935a3fffbbfee0fd59cdc89ac5167b14a (patch) | |
| tree | eace304386e95f1c45b648e977f872e8bf4fff71 /drivers/gpu/drm/xe/xe_exec_queue.h | |
| parent | 7f0d7bee2079fc899c8280e177b0c0feb8b9debe (diff) | |
| download | linux-0d92cd8935a3fffbbfee0fd59cdc89ac5167b14a.tar.xz | |
drm/xe/exec_queue: Prepare last fence for hw engine group resume context
Ensure we can safely take a ref of the exec queue's last fence from the
context of resuming jobs from the hw engine group. The locking requirements
differ from the general case, hence the introduction of this new function.
v2: Add kernel doc, rework the code to prevent code duplication
v3: Fix kernel doc, remove now unnecessary lockdep variants (Matt Brost)
v4: Remove new put function (Matt Brost)
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240809155156.1955925-7-francois.dugast@intel.com
Diffstat (limited to 'drivers/gpu/drm/xe/xe_exec_queue.h')
| -rw-r--r-- | drivers/gpu/drm/xe/xe_exec_queue.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.h b/drivers/gpu/drm/xe/xe_exec_queue.h index 99139368ba6e..90c7f73eab88 100644 --- a/drivers/gpu/drm/xe/xe_exec_queue.h +++ b/drivers/gpu/drm/xe/xe_exec_queue.h @@ -77,6 +77,8 @@ void xe_exec_queue_last_fence_put(struct xe_exec_queue *e, struct xe_vm *vm); void xe_exec_queue_last_fence_put_unlocked(struct xe_exec_queue *e); struct dma_fence *xe_exec_queue_last_fence_get(struct xe_exec_queue *e, struct xe_vm *vm); +struct dma_fence *xe_exec_queue_last_fence_get_for_resume(struct xe_exec_queue *e, + struct xe_vm *vm); void xe_exec_queue_last_fence_set(struct xe_exec_queue *e, struct xe_vm *vm, struct dma_fence *fence); int xe_exec_queue_last_fence_test_dep(struct xe_exec_queue *q, |
