Commit d757dfd6 authored by Mario Limonciello's avatar Mario Limonciello Committed by Alex Deucher

drm/amd: Move microcode init step to early_init()

The intention for early init is to find any missing microcode early
and fail the driver load if it's missing.  Move this step to earlier
in driver init to match other IP blocks.
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarMario Limonciello <mario.limonciello@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent d8c1925b
......@@ -589,6 +589,14 @@ static int gfx_v11_0_init_microcode(struct amdgpu_device *adev)
adev->gfx.mec2_fw = NULL;
gfx_v11_0_check_fw_cp_gfx_shadow(adev);
if (adev->gfx.imu.funcs && adev->gfx.imu.funcs->init_microcode) {
err = adev->gfx.imu.funcs->init_microcode(adev);
if (err)
DRM_ERROR("Failed to init imu firmware!\n");
return err;
}
out:
if (err) {
amdgpu_ucode_release(&adev->gfx.pfp_fw);
......@@ -1395,14 +1403,6 @@ static int gfx_v11_0_sw_init(void *handle)
adev->gfx.gfx_current_status = AMDGPU_GFX_NORMAL_MODE;
if (adev->gfx.imu.funcs) {
if (adev->gfx.imu.funcs->init_microcode) {
r = adev->gfx.imu.funcs->init_microcode(adev);
if (r)
DRM_ERROR("Failed to load imu firmware!\n");
}
}
gfx_v11_0_me_init(adev);
r = gfx_v11_0_rlc_init(adev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment