1

accel/ivpu: Synchronize device unbind with recovery work

Do not allow unbinding device in the middle of recovery flow.

Signed-off-by: Wachowski, Karol <karol.wachowski@intel.com>
Reviewed-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240611120433.1012423-13-jacek.lawrynowicz@linux.intel.com
This commit is contained in:
Wachowski, Karol 2024-06-11 14:04:29 +02:00 committed by Jacek Lawrynowicz
parent 86c1d13b8f
commit a4d46253fa

View File

@ -695,14 +695,14 @@ static void ivpu_bo_unbind_all_user_contexts(struct ivpu_device *vdev)
static void ivpu_dev_fini(struct ivpu_device *vdev) static void ivpu_dev_fini(struct ivpu_device *vdev)
{ {
ivpu_jobs_abort_all(vdev);
ivpu_pm_cancel_recovery(vdev);
ivpu_pm_disable(vdev); ivpu_pm_disable(vdev);
ivpu_prepare_for_reset(vdev); ivpu_prepare_for_reset(vdev);
ivpu_shutdown(vdev); ivpu_shutdown(vdev);
ivpu_ms_cleanup_all(vdev); ivpu_ms_cleanup_all(vdev);
ivpu_jobs_abort_all(vdev);
ivpu_job_done_consumer_fini(vdev); ivpu_job_done_consumer_fini(vdev);
ivpu_pm_cancel_recovery(vdev);
ivpu_bo_unbind_all_user_contexts(vdev); ivpu_bo_unbind_all_user_contexts(vdev);
ivpu_ipc_fini(vdev); ivpu_ipc_fini(vdev);