forked from Minki/linux
drm/amdgpu: add support for new smc firmware on polaris
Some polaris variants require new smc firmware. Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
4d8d44c6ce
commit
a52d120f62
@ -850,16 +850,37 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
|
|||||||
strcpy(fw_name, "amdgpu/fiji_smc.bin");
|
strcpy(fw_name, "amdgpu/fiji_smc.bin");
|
||||||
break;
|
break;
|
||||||
case CHIP_POLARIS11:
|
case CHIP_POLARIS11:
|
||||||
if (type == CGS_UCODE_ID_SMU)
|
if (type == CGS_UCODE_ID_SMU) {
|
||||||
|
if (((adev->pdev->device == 0x67ef) &&
|
||||||
|
((adev->pdev->revision == 0xe0) ||
|
||||||
|
(adev->pdev->revision == 0xe2) ||
|
||||||
|
(adev->pdev->revision == 0xe5))) ||
|
||||||
|
((adev->pdev->device == 0x67ff) &&
|
||||||
|
((adev->pdev->revision == 0xcf) ||
|
||||||
|
(adev->pdev->revision == 0xef) ||
|
||||||
|
(adev->pdev->revision == 0xff))))
|
||||||
|
strcpy(fw_name, "amdgpu/polaris11_k_smc.bin");
|
||||||
|
else
|
||||||
strcpy(fw_name, "amdgpu/polaris11_smc.bin");
|
strcpy(fw_name, "amdgpu/polaris11_smc.bin");
|
||||||
else if (type == CGS_UCODE_ID_SMU_SK)
|
} else if (type == CGS_UCODE_ID_SMU_SK) {
|
||||||
strcpy(fw_name, "amdgpu/polaris11_smc_sk.bin");
|
strcpy(fw_name, "amdgpu/polaris11_smc_sk.bin");
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case CHIP_POLARIS10:
|
case CHIP_POLARIS10:
|
||||||
if (type == CGS_UCODE_ID_SMU)
|
if (type == CGS_UCODE_ID_SMU) {
|
||||||
|
if ((adev->pdev->device == 0x67df) &&
|
||||||
|
((adev->pdev->revision == 0xe0) ||
|
||||||
|
(adev->pdev->revision == 0xe3) ||
|
||||||
|
(adev->pdev->revision == 0xe4) ||
|
||||||
|
(adev->pdev->revision == 0xe5) ||
|
||||||
|
(adev->pdev->revision == 0xe7) ||
|
||||||
|
(adev->pdev->revision == 0xef)))
|
||||||
|
strcpy(fw_name, "amdgpu/polaris10_k_smc.bin");
|
||||||
|
else
|
||||||
strcpy(fw_name, "amdgpu/polaris10_smc.bin");
|
strcpy(fw_name, "amdgpu/polaris10_smc.bin");
|
||||||
else if (type == CGS_UCODE_ID_SMU_SK)
|
} else if (type == CGS_UCODE_ID_SMU_SK) {
|
||||||
strcpy(fw_name, "amdgpu/polaris10_smc_sk.bin");
|
strcpy(fw_name, "amdgpu/polaris10_smc_sk.bin");
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case CHIP_POLARIS12:
|
case CHIP_POLARIS12:
|
||||||
strcpy(fw_name, "amdgpu/polaris12_smc.bin");
|
strcpy(fw_name, "amdgpu/polaris12_smc.bin");
|
||||||
|
@ -37,8 +37,10 @@ MODULE_FIRMWARE("amdgpu/tonga_k_smc.bin");
|
|||||||
MODULE_FIRMWARE("amdgpu/fiji_smc.bin");
|
MODULE_FIRMWARE("amdgpu/fiji_smc.bin");
|
||||||
MODULE_FIRMWARE("amdgpu/polaris10_smc.bin");
|
MODULE_FIRMWARE("amdgpu/polaris10_smc.bin");
|
||||||
MODULE_FIRMWARE("amdgpu/polaris10_smc_sk.bin");
|
MODULE_FIRMWARE("amdgpu/polaris10_smc_sk.bin");
|
||||||
|
MODULE_FIRMWARE("amdgpu/polaris10_k_smc.bin");
|
||||||
MODULE_FIRMWARE("amdgpu/polaris11_smc.bin");
|
MODULE_FIRMWARE("amdgpu/polaris11_smc.bin");
|
||||||
MODULE_FIRMWARE("amdgpu/polaris11_smc_sk.bin");
|
MODULE_FIRMWARE("amdgpu/polaris11_smc_sk.bin");
|
||||||
|
MODULE_FIRMWARE("amdgpu/polaris11_k_smc.bin");
|
||||||
MODULE_FIRMWARE("amdgpu/polaris12_smc.bin");
|
MODULE_FIRMWARE("amdgpu/polaris12_smc.bin");
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user