diff options
author | 2024-01-22 13:09:45 +0100 | |
---|---|---|
committer | 2024-01-25 10:17:37 +0100 | |
commit | 27d19268cf394f2c78db732be0cb31852eeadb0a (patch) | |
tree | 6df6f6cd1a5e11abbade64dad1ef018359923db3 /drivers/accel/ivpu/ivpu_job.c | |
parent | accel/ivpu: Improve stability of ivpu_submit_ioctl() (diff) | |
download | linux-27d19268cf394f2c78db732be0cb31852eeadb0a.tar.gz linux-27d19268cf394f2c78db732be0cb31852eeadb0a.tar.bz2 linux-27d19268cf394f2c78db732be0cb31852eeadb0a.zip |
accel/ivpu: Improve recovery and reset support
- Synchronize job submission with reset/recovery using reset_lock
- Always print recovery reason and call diagnose_failure()
- Don't allow for autosupend during recovery
- Prevent immediate autosuspend after reset/recovery
- Prevent force_recovery for issuing TDR when device is suspended
- Reset VPU instead triggering recovery after changing debugfs params
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Reviewed-by: Wachowski, Karol <karol.wachowski@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240122120945.1150728-4-jacek.lawrynowicz@linux.intel.com
Diffstat (limited to 'drivers/accel/ivpu/ivpu_job.c')
-rw-r--r-- | drivers/accel/ivpu/ivpu_job.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/accel/ivpu/ivpu_job.c b/drivers/accel/ivpu/ivpu_job.c index d9b47a04b35f..0440bee3ecaf 100644 --- a/drivers/accel/ivpu/ivpu_job.c +++ b/drivers/accel/ivpu/ivpu_job.c @@ -515,7 +515,9 @@ int ivpu_submit_ioctl(struct drm_device *dev, void *data, struct drm_file *file) goto err_destroy_job; } + down_read(&vdev->pm->reset_lock); ret = ivpu_job_submit(job); + up_read(&vdev->pm->reset_lock); if (ret) goto err_signal_fence; |