accel/ivpu: Move ivpu_fw_load() to ivpu_fw_init()
authorJacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Fri, 1 Sep 2023 09:49:53 +0000 (11:49 +0200)
committerStanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
Mon, 4 Sep 2023 09:01:49 +0000 (11:01 +0200)
ivpu_fw_load() doesn't have to be called separately in ivpu_dev_init().

Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Reviewed-by: Stanislaw Gruszka <stanislaw.gruszka@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/20230901094957.168898-8-stanislaw.gruszka@linux.intel.com
Link: https://patchwork.freedesktop.org/patch/msgid/20230901094957.168898-7-stanislaw.gruszka@linux.intel.com
drivers/accel/ivpu/ivpu_drv.c
drivers/accel/ivpu/ivpu_fw.c
drivers/accel/ivpu/ivpu_fw.h

index 5310b54f036d804951e8e0648bdefd631fa3391f..fa0680ba93400dd1312843f327a0ddcdab0688b8 100644 (file)
@@ -561,10 +561,6 @@ static int ivpu_dev_init(struct ivpu_device *vdev)
        if (ret)
                goto err_ipc_fini;
 
-       ret = ivpu_fw_load(vdev);
-       if (ret)
-               goto err_job_done_thread_fini;
-
        ret = ivpu_boot(vdev);
        if (ret)
                goto err_job_done_thread_fini;
index 9827ea4d7b83b46483a26fd2d9a0e622bc4fa9cf..d57e103aae1c2609be2156416db3a454801709a8 100644 (file)
@@ -301,6 +301,8 @@ int ivpu_fw_init(struct ivpu_device *vdev)
        if (ret)
                goto err_fw_release;
 
+       ivpu_fw_load(vdev);
+
        return 0;
 
 err_fw_release:
@@ -314,7 +316,7 @@ void ivpu_fw_fini(struct ivpu_device *vdev)
        ivpu_fw_release(vdev);
 }
 
-int ivpu_fw_load(struct ivpu_device *vdev)
+void ivpu_fw_load(struct ivpu_device *vdev)
 {
        struct ivpu_fw_info *fw = vdev->fw;
        u64 image_end_offset = fw->image_load_offset + fw->image_size;
@@ -331,8 +333,6 @@ int ivpu_fw_load(struct ivpu_device *vdev)
        }
 
        wmb(); /* Flush WC buffers after writing fw->mem */
-
-       return 0;
 }
 
 static void ivpu_fw_boot_params_print(struct ivpu_device *vdev, struct vpu_boot_params *boot_params)
index 8567fdf925fe4acb782c49d0d0a53106224e50b9..10ae2847f0ef3cab0e9c4436f1f4d4e9a6584531 100644 (file)
@@ -31,7 +31,7 @@ struct ivpu_fw_info {
 
 int ivpu_fw_init(struct ivpu_device *vdev);
 void ivpu_fw_fini(struct ivpu_device *vdev);
-int ivpu_fw_load(struct ivpu_device *vdev);
+void ivpu_fw_load(struct ivpu_device *vdev);
 void ivpu_fw_boot_params_setup(struct ivpu_device *vdev, struct vpu_boot_params *bp);
 
 static inline bool ivpu_fw_is_cold_boot(struct ivpu_device *vdev)