diff options
author | 2023-10-28 17:59:32 +0200 | |
---|---|---|
committer | 2023-10-31 16:25:03 +0100 | |
commit | ba6b035daac8c4fa5da1f14f262d97e0ffa45a6d (patch) | |
tree | fa11c215ab8d3b6927753d6ac0a6da9f7c8cf961 /drivers/accel/ivpu/ivpu_ipc.h | |
parent | accel/ivpu: Stop job_done_thread on suspend (diff) | |
download | linux-ba6b035daac8c4fa5da1f14f262d97e0ffa45a6d.tar.gz linux-ba6b035daac8c4fa5da1f14f262d97e0ffa45a6d.tar.bz2 linux-ba6b035daac8c4fa5da1f14f262d97e0ffa45a6d.zip |
accel/ivpu: Abort pending rx ipc on reset
Waking up process, which wait for particular condition, will go to
sleep again on wake_up() if the condition is not met. Add abort flag
to wake up IPC receivers, which will finish with -ECANCELED error.
This is only needed for reset, run time power management prevent to
suspend VPU when there is pending IPC processing or pending job.
Reviewed-by: Karol Wachowski <karol.wachowski@linux.intel.com>
Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231028155936.1183342-5-stanislaw.gruszka@linux.intel.com
Diffstat (limited to 'drivers/accel/ivpu/ivpu_ipc.h')
-rw-r--r-- | drivers/accel/ivpu/ivpu_ipc.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/accel/ivpu/ivpu_ipc.h b/drivers/accel/ivpu/ivpu_ipc.h index 6918db23daa4..a380787f7222 100644 --- a/drivers/accel/ivpu/ivpu_ipc.h +++ b/drivers/accel/ivpu/ivpu_ipc.h @@ -47,8 +47,9 @@ struct ivpu_ipc_consumer { u32 channel; u32 tx_vpu_addr; u32 request_id; + bool aborted; - spinlock_t rx_msg_lock; /* Protects rx_msg_list */ + spinlock_t rx_msg_lock; /* Protects rx_msg_list and aborted */ struct list_head rx_msg_list; wait_queue_head_t rx_msg_wq; }; |