0
0
mirror of https://mirrors.bfsu.edu.cn/git/linux.git synced 2024-12-19 17:14:40 +08:00
linux/drivers/accel/ivpu
Jacek Lawrynowicz fd7726e759 accel/ivpu: Fix deadlock in context_xa
ivpu_device->context_xa is locked both in kernel thread and IRQ context.
It requires XA_FLAGS_LOCK_IRQ flag to be passed during initialization
otherwise the lock could be acquired from a thread and interrupted by
an IRQ that locks it for the second time causing the deadlock.

This deadlock was reported by lockdep and observed in internal tests.

Fixes: 35b137630f ("accel/ivpu: Introduce a new DRM driver for Intel VPU")
Cc: <stable@vger.kernel.org> # v6.3+
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240402104929.941186-9-jacek.lawrynowicz@linux.intel.com
2024-04-08 10:55:01 +02:00
..
ivpu_debugfs.c accel/ivpu: Fix ivpu_reset_engine_fn merge issue 2024-02-19 10:52:35 +01:00
ivpu_debugfs.h accel/ivpu: Compile ivpu_debugfs.c conditionally 2023-09-27 13:11:51 +02:00
ivpu_drv.c accel/ivpu: Fix deadlock in context_xa 2024-04-08 10:55:01 +02:00
ivpu_drv.h accel/ivpu: Remove d3hot_after_power_off WA 2024-04-08 10:53:20 +02:00
ivpu_fw_log.c accel/ivpu: Rename VPU to NPU in message strings 2024-02-19 10:52:35 +01:00
ivpu_fw_log.h accel/ivpu: Add firmware tracing support 2023-07-07 09:33:20 +02:00
ivpu_fw.c Linux 6.8-rc6 2024-02-26 11:41:07 +01:00
ivpu_fw.h accel/ivpu: Add dvfs_mode file to debugfs 2023-10-30 11:06:09 +01:00
ivpu_gem.c accel/ivpu: Refactor BO creation functions 2024-02-19 10:52:35 +01:00
ivpu_gem.h accel/ivpu: Refactor BO creation functions 2024-02-19 10:52:35 +01:00
ivpu_hw_37xx_reg.h accel/ivpu: Pass D0i3 residency time to the VPU firmware 2023-10-30 11:06:12 +01:00
ivpu_hw_37xx.c accel/ivpu: Return max freq for DRM_IVPU_PARAM_CORE_CLOCK_RATE 2024-04-08 10:54:21 +02:00
ivpu_hw_40xx_reg.h accel/ivpu/40xx: Ensure clock resource ownership Ack before Power-Up 2023-09-27 07:40:23 +02:00
ivpu_hw_40xx.c accel/ivpu: Return max freq for DRM_IVPU_PARAM_CORE_CLOCK_RATE 2024-04-08 10:54:21 +02:00
ivpu_hw_reg_io.h accel/ivpu: Fix verbose version of REG_POLL macros 2023-10-23 08:57:25 +02:00
ivpu_hw.h accel/ivpu: Return max freq for DRM_IVPU_PARAM_CORE_CLOCK_RATE 2024-04-08 10:54:21 +02:00
ivpu_ipc.c accel/ivpu: Check return code of ipc->lock init 2024-04-08 10:53:19 +02:00
ivpu_ipc.h accel/ivpu: Use threaded IRQ to handle JOB done messages 2023-11-16 13:41:49 +01:00
ivpu_job.c Linux 6.8-rc6 2024-02-26 11:41:07 +01:00
ivpu_job.h accel/ivpu: Improve stability of ivpu_submit_ioctl() 2024-01-25 10:17:07 +01:00
ivpu_jsm_msg.c accel/ivpu: Add support for delayed D0i3 entry message 2023-10-30 11:06:13 +01:00
ivpu_jsm_msg.h accel/ivpu: Add support for delayed D0i3 entry message 2023-10-30 11:06:13 +01:00
ivpu_mmu_context.c accel/ivpu: Add debug prints for MMU map/unmap operations 2024-01-22 10:27:47 +01:00
ivpu_mmu_context.h accel/ivpu: Fix locking in ivpu_bo_remove_all_bos_from_context() 2023-11-08 16:27:35 +01:00
ivpu_mmu.c accel/ivpu: Improve clarity of MMU error messages 2024-04-08 10:54:21 +02:00
ivpu_mmu.h accel/ivpu: Dump MMU events in case of VPU boot timeout 2024-01-22 10:27:37 +01:00
ivpu_pm.c accel/ivpu: Fix missed error message after VPU rename 2024-04-08 10:55:01 +02:00
ivpu_pm.h accel/ivpu: Improve recovery and reset support 2024-01-25 10:17:37 +01:00
Kconfig accel/ivpu: Use GEM shmem helper for all buffers 2023-11-08 16:27:43 +01:00
Makefile accel/ivpu: Compile ivpu_debugfs.c conditionally 2023-09-27 13:11:51 +02:00
vpu_boot_api.h accel/ivpu: Update FW API headers 2024-02-19 10:52:35 +01:00
vpu_jsm_api.h accel/ivpu: Update FW API headers 2024-02-19 10:52:35 +01:00