In IVPU_TEST_MODE_FW_TEST mode the driver triggers a firmware boot but does not wait for boot completion. Because it never waits for the boot to finish, it cannot send a message and expect a response from the firmware.
Exit ivpu_boot() early in this mode, bypassing ivpu_hw_sched_init() and the rest of the post-boot initialization. ivpu_hw_sched_init() was sending a message that timed out and failed the boot sequence. Signed-off-by: Andrzej Kacprowski <[email protected]> --- drivers/accel/ivpu/ivpu_drv.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/accel/ivpu/ivpu_drv.c b/drivers/accel/ivpu/ivpu_drv.c index 8c1c87e69f91..538179dcd316 100644 --- a/drivers/accel/ivpu/ivpu_drv.c +++ b/drivers/accel/ivpu/ivpu_drv.c @@ -485,6 +485,9 @@ int ivpu_boot(struct ivpu_device *vdev) ivpu_ipc_enable(vdev); if (!ivpu_fw_is_warm_boot(vdev)) { + if (ivpu_test_mode & IVPU_TEST_MODE_FW_TEST) + return 0; + ret = ivpu_pm_dct_init(vdev); if (ret) goto err_disable_ipc; -- 2.43.0
