Commit a8c65c13 authored by Alex Deucher's avatar Alex Deucher

drm/amdgpu/si: Add updated smc firmware for SI kickers

Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 295d0daf
...@@ -56,10 +56,15 @@ ...@@ -56,10 +56,15 @@
#define BIOS_SCRATCH_4 0x5cd #define BIOS_SCRATCH_4 0x5cd
MODULE_FIRMWARE("radeon/tahiti_smc.bin"); MODULE_FIRMWARE("radeon/tahiti_smc.bin");
MODULE_FIRMWARE("radeon/tahiti_k_smc.bin");
MODULE_FIRMWARE("radeon/pitcairn_smc.bin"); MODULE_FIRMWARE("radeon/pitcairn_smc.bin");
MODULE_FIRMWARE("radeon/pitcairn_k_smc.bin");
MODULE_FIRMWARE("radeon/verde_smc.bin"); MODULE_FIRMWARE("radeon/verde_smc.bin");
MODULE_FIRMWARE("radeon/verde_k_smc.bin");
MODULE_FIRMWARE("radeon/oland_smc.bin"); MODULE_FIRMWARE("radeon/oland_smc.bin");
MODULE_FIRMWARE("radeon/oland_k_smc.bin");
MODULE_FIRMWARE("radeon/hainan_smc.bin"); MODULE_FIRMWARE("radeon/hainan_smc.bin");
MODULE_FIRMWARE("radeon/hainan_k_smc.bin");
union power_info { union power_info {
struct _ATOM_POWERPLAY_INFO info; struct _ATOM_POWERPLAY_INFO info;
...@@ -7665,16 +7670,51 @@ static int si_dpm_init_microcode(struct amdgpu_device *adev) ...@@ -7665,16 +7670,51 @@ static int si_dpm_init_microcode(struct amdgpu_device *adev)
chip_name = "tahiti"; chip_name = "tahiti";
break; break;
case CHIP_PITCAIRN: case CHIP_PITCAIRN:
chip_name = "pitcairn"; if ((adev->pdev->revision == 0x81) ||
(adev->pdev->device == 0x6810) ||
(adev->pdev->device == 0x6811) ||
(adev->pdev->device == 0x6816) ||
(adev->pdev->device == 0x6817) ||
(adev->pdev->device == 0x6806))
chip_name = "pitcairn_k";
else
chip_name = "pitcairn";
break; break;
case CHIP_VERDE: case CHIP_VERDE:
chip_name = "verde"; if ((adev->pdev->revision == 0x81) ||
(adev->pdev->revision == 0x83) ||
(adev->pdev->revision == 0x87) ||
(adev->pdev->device == 0x6820) ||
(adev->pdev->device == 0x6821) ||
(adev->pdev->device == 0x6822) ||
(adev->pdev->device == 0x6823) ||
(adev->pdev->device == 0x682A) ||
(adev->pdev->device == 0x682B))
chip_name = "verde_k";
else
chip_name = "verde";
break; break;
case CHIP_OLAND: case CHIP_OLAND:
chip_name = "oland"; if ((adev->pdev->revision == 0xC7) ||
(adev->pdev->revision == 0x80) ||
(adev->pdev->revision == 0x81) ||
(adev->pdev->revision == 0x83) ||
(adev->pdev->device == 0x6604) ||
(adev->pdev->device == 0x6605))
chip_name = "oland_k";
else
chip_name = "oland";
break; break;
case CHIP_HAINAN: case CHIP_HAINAN:
chip_name = "hainan"; if ((adev->pdev->revision == 0x81) ||
(adev->pdev->revision == 0x83) ||
(adev->pdev->revision == 0xC3) ||
(adev->pdev->device == 0x6664) ||
(adev->pdev->device == 0x6665) ||
(adev->pdev->device == 0x6667))
chip_name = "hainan_k";
else
chip_name = "hainan";
break; break;
default: BUG(); default: BUG();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment