mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-27 06:34:11 +08:00
drm/radeon: add support for new hainan variants
New hainan parts require updated smc firmware. Cc: Sonny Jiang <sonny.jiang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
ca581e4533
commit
4e6e98b1e4
@ -114,6 +114,7 @@ MODULE_FIRMWARE("radeon/hainan_mc.bin");
|
||||
MODULE_FIRMWARE("radeon/hainan_rlc.bin");
|
||||
MODULE_FIRMWARE("radeon/hainan_smc.bin");
|
||||
MODULE_FIRMWARE("radeon/hainan_k_smc.bin");
|
||||
MODULE_FIRMWARE("radeon/banks_k_2_smc.bin");
|
||||
|
||||
MODULE_FIRMWARE("radeon/si58_mc.bin");
|
||||
|
||||
@ -1653,6 +1654,7 @@ static int si_init_microcode(struct radeon_device *rdev)
|
||||
int new_fw = 0;
|
||||
bool new_smc = false;
|
||||
bool si58_fw = false;
|
||||
bool banks2_fw = false;
|
||||
|
||||
DRM_DEBUG("\n");
|
||||
|
||||
@ -1730,10 +1732,11 @@ static int si_init_microcode(struct radeon_device *rdev)
|
||||
((rdev->pdev->device == 0x6660) ||
|
||||
(rdev->pdev->device == 0x6663) ||
|
||||
(rdev->pdev->device == 0x6665) ||
|
||||
(rdev->pdev->device == 0x6667))) ||
|
||||
((rdev->pdev->revision == 0xc3) &&
|
||||
(rdev->pdev->device == 0x6665)))
|
||||
(rdev->pdev->device == 0x6667))))
|
||||
new_smc = true;
|
||||
else if ((rdev->pdev->revision == 0xc3) &&
|
||||
(rdev->pdev->device == 0x6665))
|
||||
banks2_fw = true;
|
||||
new_chip_name = "hainan";
|
||||
pfp_req_size = SI_PFP_UCODE_SIZE * 4;
|
||||
me_req_size = SI_PM4_UCODE_SIZE * 4;
|
||||
@ -1886,7 +1889,9 @@ static int si_init_microcode(struct radeon_device *rdev)
|
||||
}
|
||||
}
|
||||
|
||||
if (new_smc)
|
||||
if (banks2_fw)
|
||||
snprintf(fw_name, sizeof(fw_name), "radeon/banks_k_2_smc.bin");
|
||||
else if (new_smc)
|
||||
snprintf(fw_name, sizeof(fw_name), "radeon/%s_k_smc.bin", new_chip_name);
|
||||
else
|
||||
snprintf(fw_name, sizeof(fw_name), "radeon/%s_smc.bin", new_chip_name);
|
||||
|
Loading…
Reference in New Issue
Block a user