ivpu_ipc.c (cf79f291f985662150363b4a93d16f88f12643bc) | ivpu_ipc.c (27d19268cf394f2c78db732be0cb31852eeadb0a) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Copyright (C) 2020-2023 Intel Corporation 4 */ 5 6#include <linux/genalloc.h> 7#include <linux/highmem.h> 8#include <linux/pm_runtime.h> --- 329 unchanged lines hidden (view full) --- 338 339 ret = ivpu_ipc_send_receive_internal(vdev, req, expected_resp, resp, channel, timeout_ms); 340 if (ret != -ETIMEDOUT) 341 return ret; 342 343 hb_ret = ivpu_ipc_send_receive_internal(vdev, &hb_req, VPU_JSM_MSG_QUERY_ENGINE_HB_DONE, 344 &hb_resp, VPU_IPC_CHAN_ASYNC_CMD, 345 vdev->timeout.jsm); | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Copyright (C) 2020-2023 Intel Corporation 4 */ 5 6#include <linux/genalloc.h> 7#include <linux/highmem.h> 8#include <linux/pm_runtime.h> --- 329 unchanged lines hidden (view full) --- 338 339 ret = ivpu_ipc_send_receive_internal(vdev, req, expected_resp, resp, channel, timeout_ms); 340 if (ret != -ETIMEDOUT) 341 return ret; 342 343 hb_ret = ivpu_ipc_send_receive_internal(vdev, &hb_req, VPU_JSM_MSG_QUERY_ENGINE_HB_DONE, 344 &hb_resp, VPU_IPC_CHAN_ASYNC_CMD, 345 vdev->timeout.jsm); |
346 if (hb_ret == -ETIMEDOUT) { 347 ivpu_hw_diagnose_failure(vdev); 348 ivpu_pm_schedule_recovery(vdev); 349 } | 346 if (hb_ret == -ETIMEDOUT) 347 ivpu_pm_trigger_recovery(vdev, "IPC timeout"); |
350 351 return ret; 352} 353 354int ivpu_ipc_send_receive(struct ivpu_device *vdev, struct vpu_jsm_msg *req, 355 enum vpu_ipc_msg_type expected_resp, struct vpu_jsm_msg *resp, 356 u32 channel, unsigned long timeout_ms) 357{ --- 220 unchanged lines hidden --- | 348 349 return ret; 350} 351 352int ivpu_ipc_send_receive(struct ivpu_device *vdev, struct vpu_jsm_msg *req, 353 enum vpu_ipc_msg_type expected_resp, struct vpu_jsm_msg *resp, 354 u32 channel, unsigned long timeout_ms) 355{ --- 220 unchanged lines hidden --- |