drm/amdgpu: add support for new smc firmware on iceland
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 27 Oct 2016 22:33:00 +0000 (18:33 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 28 Oct 2016 19:26:51 +0000 (15:26 -0400)
Newer iceland parts require new smc firmware.

Reviewed-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
drivers/gpu/drm/amd/amdgpu/vi.c

index d1267ea1d631185bc147da8f3140fb12a347c03e..662976292535856d57dde4788364c20f7fba38e5 100644 (file)
@@ -795,7 +795,12 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
                if (!adev->pm.fw) {
                        switch (adev->asic_type) {
                        case CHIP_TOPAZ:
-                               strcpy(fw_name, "amdgpu/topaz_smc.bin");
+                               if (((adev->pdev->device == 0x6900) && (adev->pdev->revision == 0x81)) ||
+                                   ((adev->pdev->device == 0x6900) && (adev->pdev->revision == 0x83)) ||
+                                   ((adev->pdev->device == 0x6907) && (adev->pdev->revision == 0x87)))
+                                       strcpy(fw_name, "amdgpu/topaz_k_smc.bin");
+                               else
+                                       strcpy(fw_name, "amdgpu/topaz_smc.bin");
                                break;
                        case CHIP_TONGA:
                                if (((adev->pdev->device == 0x6939) && (adev->pdev->revision == 0xf1)) ||
index 12404fc47520c9a6518c16438c0a8f2a04ab58e5..f62f1a74f890d0d806506f343bb14ec6090578e9 100644 (file)
@@ -80,6 +80,7 @@
 #include "dce_virtual.h"
 
 MODULE_FIRMWARE("amdgpu/topaz_smc.bin");
+MODULE_FIRMWARE("amdgpu/topaz_k_smc.bin");
 MODULE_FIRMWARE("amdgpu/tonga_smc.bin");
 MODULE_FIRMWARE("amdgpu/tonga_k_smc.bin");
 MODULE_FIRMWARE("amdgpu/fiji_smc.bin");