mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 23:22:31 +02:00
Revert "drm/xe/vf: Post migration, repopulate ring area for pending request"
This reverts commit a0dda25d24.
Due to change in the VF migration recovery design this code
is not needed any more.
v3:
- Add commit message (Michal / Lucas)
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Link: https://lore.kernel.org/r/20251002233824.203417-3-michal.wajdeczko@intel.com
This commit is contained in:
parent
08c98f3f2b
commit
6c640592e8
|
|
@ -1146,27 +1146,3 @@ int xe_exec_queue_contexts_hwsp_rebase(struct xe_exec_queue *q, void *scratch)
|
|||
|
||||
return err;
|
||||
}
|
||||
|
||||
/**
|
||||
* xe_exec_queue_jobs_ring_restore - Re-emit ring commands of requests pending on given queue.
|
||||
* @q: the &xe_exec_queue struct instance
|
||||
*/
|
||||
void xe_exec_queue_jobs_ring_restore(struct xe_exec_queue *q)
|
||||
{
|
||||
struct xe_gpu_scheduler *sched = &q->guc->sched;
|
||||
struct xe_sched_job *job;
|
||||
|
||||
/*
|
||||
* This routine is used within VF migration recovery. This means
|
||||
* using the lock here introduces a restriction: we cannot wait
|
||||
* for any GFX HW response while the lock is taken.
|
||||
*/
|
||||
spin_lock(&sched->base.job_list_lock);
|
||||
list_for_each_entry(job, &sched->base.pending_list, drm.list) {
|
||||
if (xe_sched_job_is_error(job))
|
||||
continue;
|
||||
|
||||
q->ring_ops->emit_job(job);
|
||||
}
|
||||
spin_unlock(&sched->base.job_list_lock);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -92,7 +92,6 @@ void xe_exec_queue_update_run_ticks(struct xe_exec_queue *q);
|
|||
|
||||
int xe_exec_queue_contexts_hwsp_rebase(struct xe_exec_queue *q, void *scratch);
|
||||
|
||||
void xe_exec_queue_jobs_ring_restore(struct xe_exec_queue *q);
|
||||
|
||||
struct xe_lrc *xe_exec_queue_lrc(struct xe_exec_queue *q);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -845,30 +845,6 @@ guc_exec_queue_run_job(struct drm_sched_job *drm_job)
|
|||
return fence;
|
||||
}
|
||||
|
||||
/**
|
||||
* xe_guc_jobs_ring_rebase - Re-emit ring commands of requests pending
|
||||
* on all queues under a guc.
|
||||
* @guc: the &xe_guc struct instance
|
||||
*/
|
||||
void xe_guc_jobs_ring_rebase(struct xe_guc *guc)
|
||||
{
|
||||
struct xe_exec_queue *q;
|
||||
unsigned long index;
|
||||
|
||||
/*
|
||||
* This routine is used within VF migration recovery. This means
|
||||
* using the lock here introduces a restriction: we cannot wait
|
||||
* for any GFX HW response while the lock is taken.
|
||||
*/
|
||||
mutex_lock(&guc->submission_state.lock);
|
||||
xa_for_each(&guc->submission_state.exec_queue_lookup, index, q) {
|
||||
if (exec_queue_killed_or_banned_or_wedged(q))
|
||||
continue;
|
||||
xe_exec_queue_jobs_ring_restore(q);
|
||||
}
|
||||
mutex_unlock(&guc->submission_state.lock);
|
||||
}
|
||||
|
||||
static void guc_exec_queue_free_job(struct drm_sched_job *drm_job)
|
||||
{
|
||||
struct xe_sched_job *job = to_xe_sched_job(drm_job);
|
||||
|
|
|
|||
|
|
@ -36,8 +36,6 @@ int xe_guc_exec_queue_memory_cat_error_handler(struct xe_guc *guc, u32 *msg,
|
|||
int xe_guc_exec_queue_reset_failure_handler(struct xe_guc *guc, u32 *msg, u32 len);
|
||||
int xe_guc_error_capture_handler(struct xe_guc *guc, u32 *msg, u32 len);
|
||||
|
||||
void xe_guc_jobs_ring_rebase(struct xe_guc *guc);
|
||||
|
||||
struct xe_guc_submit_exec_queue_snapshot *
|
||||
xe_guc_exec_queue_snapshot_capture(struct xe_exec_queue *q);
|
||||
void
|
||||
|
|
|
|||
|
|
@ -334,7 +334,6 @@ static int gt_vf_post_migration_fixups(struct xe_gt *gt)
|
|||
err = xe_guc_contexts_hwsp_rebase(>->uc.guc, buf);
|
||||
if (err)
|
||||
goto out;
|
||||
xe_guc_jobs_ring_rebase(>->uc.guc);
|
||||
xe_guc_ct_fixup_messages_with_ggtt(>->uc.guc.ct, shift);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user