drm/amdgpu: refine gfx6 firmware loading
authorYang Wang <kevinyang.wang@amd.com>
Fri, 31 May 2024 06:09:10 +0000 (14:09 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 19 Jun 2024 16:52:36 +0000 (12:52 -0400)
refine gfx6 firmware loading

Signed-off-by: Yang Wang <kevinyang.wang@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c

index d0992ce9fb474ddd9e9a926fa8efa0996bceed7c..564f0b9336b6aad4e0a0c3e3c89ee388c8a912ed 100644 (file)
@@ -311,7 +311,6 @@ static const u32 verde_rlc_save_restore_register_list[] =
 static int gfx_v6_0_init_microcode(struct amdgpu_device *adev)
 {
        const char *chip_name;
-       char fw_name[30];
        int err;
        const struct gfx_firmware_header_v1_0 *cp_hdr;
        const struct rlc_firmware_header_v1_0 *rlc_hdr;
@@ -337,32 +336,32 @@ static int gfx_v6_0_init_microcode(struct amdgpu_device *adev)
        default: BUG();
        }
 
-       snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_pfp.bin", chip_name);
-       err = amdgpu_ucode_request(adev, &adev->gfx.pfp_fw, fw_name);
+       err = amdgpu_ucode_request(adev, &adev->gfx.pfp_fw,
+                                  "amdgpu/%s_pfp.bin", chip_name);
        if (err)
                goto out;
        cp_hdr = (const struct gfx_firmware_header_v1_0 *)adev->gfx.pfp_fw->data;
        adev->gfx.pfp_fw_version = le32_to_cpu(cp_hdr->header.ucode_version);
        adev->gfx.pfp_feature_version = le32_to_cpu(cp_hdr->ucode_feature_version);
 
-       snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_me.bin", chip_name);
-       err = amdgpu_ucode_request(adev, &adev->gfx.me_fw, fw_name);
+       err = amdgpu_ucode_request(adev, &adev->gfx.me_fw,
+                                  "amdgpu/%s_me.bin", chip_name);
        if (err)
                goto out;
        cp_hdr = (const struct gfx_firmware_header_v1_0 *)adev->gfx.me_fw->data;
        adev->gfx.me_fw_version = le32_to_cpu(cp_hdr->header.ucode_version);
        adev->gfx.me_feature_version = le32_to_cpu(cp_hdr->ucode_feature_version);
 
-       snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_ce.bin", chip_name);
-       err = amdgpu_ucode_request(adev, &adev->gfx.ce_fw, fw_name);
+       err = amdgpu_ucode_request(adev, &adev->gfx.ce_fw,
+                                  "amdgpu/%s_ce.bin", chip_name);
        if (err)
                goto out;
        cp_hdr = (const struct gfx_firmware_header_v1_0 *)adev->gfx.ce_fw->data;
        adev->gfx.ce_fw_version = le32_to_cpu(cp_hdr->header.ucode_version);
        adev->gfx.ce_feature_version = le32_to_cpu(cp_hdr->ucode_feature_version);
 
-       snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_rlc.bin", chip_name);
-       err = amdgpu_ucode_request(adev, &adev->gfx.rlc_fw, fw_name);
+       err = amdgpu_ucode_request(adev, &adev->gfx.rlc_fw,
+                                  "amdgpu/%s_rlc.bin", chip_name);
        if (err)
                goto out;
        rlc_hdr = (const struct rlc_firmware_header_v1_0 *)adev->gfx.rlc_fw->data;
@@ -371,7 +370,7 @@ static int gfx_v6_0_init_microcode(struct amdgpu_device *adev)
 
 out:
        if (err) {
-               pr_err("gfx6: Failed to load firmware \"%s\"\n", fw_name);
+               pr_err("gfx6: Failed to load firmware %s gfx firmware\n", chip_name);
                amdgpu_ucode_release(&adev->gfx.pfp_fw);
                amdgpu_ucode_release(&adev->gfx.me_fw);
                amdgpu_ucode_release(&adev->gfx.ce_fw);