drm/amd: Use `amdgpu_ucode_release` helper for si
authorMario Limonciello <mario.limonciello@amd.com>
Wed, 4 Jan 2023 14:40:28 +0000 (08:40 -0600)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 10 Jan 2023 19:32:58 +0000 (14:32 -0500)
The `amdgpu_ucode_release` helper is replacing all calls
to release_firmware.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c

index 49c398ec0aaf60235a65d40d17bb8402c356a5ce..d6d9e3b1b2c0e4511707680dbb1286d13188977a 100644 (file)
@@ -7714,20 +7714,13 @@ static int si_dpm_init_microcode(struct amdgpu_device *adev)
        }
 
        snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_smc.bin", chip_name);
-       err = request_firmware(&adev->pm.fw, fw_name, adev->dev);
-       if (err)
-               goto out;
-       err = amdgpu_ucode_validate(adev->pm.fw);
-
-out:
+       err = amdgpu_ucode_request(adev, &adev->pm.fw, fw_name);
        if (err) {
                DRM_ERROR("si_smc: Failed to load firmware. err = %d\"%s\"\n",
                          err, fw_name);
-               release_firmware(adev->pm.fw);
-               adev->pm.fw = NULL;
+               amdgpu_ucode_release(&adev->pm.fw);
        }
        return err;
-
 }
 
 static int si_dpm_sw_init(void *handle)