drm/amdgpu: remove unnecessary asic check for sdma5.2
authorJiansong Chen <Jiansong.Chen@amd.com>
Wed, 30 Dec 2020 11:40:49 +0000 (19:40 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 5 Jan 2021 16:31:34 +0000 (11:31 -0500)
For sdma5.2, all sdma instances will share the same fw,
remove unnecessary asic check to be more generic.

Signed-off-by: Jiansong Chen <Jiansong.Chen@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c

index f1ba36a..690a509 100644 (file)
@@ -119,15 +119,7 @@ static int sdma_v5_2_init_inst_ctx(struct amdgpu_sdma_instance *sdma_inst)
 
 static void sdma_v5_2_destroy_inst_ctx(struct amdgpu_device *adev)
 {
-       int i;
-
-       for (i = 0; i < adev->sdma.num_instances; i++) {
-               release_firmware(adev->sdma.instance[i].fw);
-               adev->sdma.instance[i].fw = NULL;
-
-               if (adev->asic_type == CHIP_SIENNA_CICHLID)
-                       break;
-       }
+       release_firmware(adev->sdma.instance[0].fw);
 
        memset((void *)adev->sdma.instance, 0,
               sizeof(struct amdgpu_sdma_instance) * AMDGPU_MAX_SDMA_INSTANCES);
@@ -185,23 +177,10 @@ static int sdma_v5_2_init_microcode(struct amdgpu_device *adev)
        if (err)
                goto out;
 
-       for (i = 1; i < adev->sdma.num_instances; i++) {
-               if (adev->asic_type >= CHIP_SIENNA_CICHLID &&
-                   adev->asic_type <= CHIP_DIMGREY_CAVEFISH) {
-                       memcpy((void *)&adev->sdma.instance[i],
-                              (void *)&adev->sdma.instance[0],
-                              sizeof(struct amdgpu_sdma_instance));
-               } else {
-                       snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_sdma%d.bin", chip_name, i);
-                       err = request_firmware(&adev->sdma.instance[i].fw, fw_name, adev->dev);
-                       if (err)
-                               goto out;
-
-                       err = sdma_v5_2_init_inst_ctx(&adev->sdma.instance[i]);
-                       if (err)
-                               goto out;
-               }
-       }
+       for (i = 1; i < adev->sdma.num_instances; i++)
+               memcpy((void *)&adev->sdma.instance[i],
+                      (void *)&adev->sdma.instance[0],
+                      sizeof(struct amdgpu_sdma_instance));
 
        DRM_DEBUG("psp_load == '%s'\n",
                  adev->firmware.load_type == AMDGPU_FW_LOAD_PSP ? "true" : "false");