]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/amdgpu: fixing rlc firmware loading failure issue
authorYang Wang <kevinyang.wang@amd.com>
Tue, 13 Aug 2024 05:51:48 +0000 (13:51 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 21 Aug 2024 02:51:31 +0000 (22:51 -0400)
Skip rlc firmware validation to ignore firmware header size mismatch issues.
This restores the workaround added in
commit 849e133c973c ("drm/amdgpu: Fix the null pointer when load rlc firmware")

Fixes: 3af2c80ae2f5 ("drm/amdgpu: refine gfx10 firmware loading")
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3551
Signed-off-by: Yang Wang <kevinyang.wang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 89ec85d16eb8110d88c273d1d34f1fe5a70ba8cc)

drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c

index 2957702fca0c668801d05c79e6a3d9b00be5ce8e..e444e621ddaa01d185549bf9a0d1f311fad1b209 100644 (file)
@@ -4116,6 +4116,7 @@ static void gfx_v10_0_check_gfxoff_flag(struct amdgpu_device *adev)
 
 static int gfx_v10_0_init_microcode(struct amdgpu_device *adev)
 {
+       char fw_name[53];
        char ucode_prefix[30];
        const char *wks = "";
        int err;
@@ -4149,8 +4150,8 @@ static int gfx_v10_0_init_microcode(struct amdgpu_device *adev)
        amdgpu_gfx_cp_init_microcode(adev, AMDGPU_UCODE_ID_CP_CE);
 
        if (!amdgpu_sriov_vf(adev)) {
-               err = amdgpu_ucode_request(adev, &adev->gfx.rlc_fw,
-                                          "amdgpu/%s_rlc.bin", ucode_prefix);
+               snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_rlc.bin", ucode_prefix);
+               err = request_firmware(&adev->gfx.rlc_fw, fw_name, adev->dev);
                if (err)
                        goto out;