diff options
Diffstat (limited to 'drm-radeon-update-smc-firmware-selection-for-si.patch')
-rw-r--r-- | drm-radeon-update-smc-firmware-selection-for-si.patch | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/drm-radeon-update-smc-firmware-selection-for-si.patch b/drm-radeon-update-smc-firmware-selection-for-si.patch deleted file mode 100644 index ad115ef05..000000000 --- a/drm-radeon-update-smc-firmware-selection-for-si.patch +++ /dev/null @@ -1,124 +0,0 @@ -From 6458bd4dfd9414cba5804eb9907fe2a824278c34 Mon Sep 17 00:00:00 2001 -From: Alex Deucher <alexander.deucher@amd.com> -Date: Thu, 5 Jan 2017 12:15:52 -0500 -Subject: drm/radeon: update smc firmware selection for SI - -From: Alex Deucher <alexander.deucher@amd.com> - -commit 6458bd4dfd9414cba5804eb9907fe2a824278c34 upstream. - -Use the appropriate smc firmware for each chip revision. -Using the wrong one can cause stability issues. - -Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> - ---- - drivers/gpu/drm/radeon/si.c | 60 ++++++++++++++++++++------------------------ - 1 file changed, 28 insertions(+), 32 deletions(-) - ---- a/drivers/gpu/drm/radeon/si.c -+++ b/drivers/gpu/drm/radeon/si.c -@@ -50,7 +50,6 @@ MODULE_FIRMWARE("radeon/tahiti_ce.bin"); - MODULE_FIRMWARE("radeon/tahiti_mc.bin"); - MODULE_FIRMWARE("radeon/tahiti_rlc.bin"); - MODULE_FIRMWARE("radeon/tahiti_smc.bin"); --MODULE_FIRMWARE("radeon/tahiti_k_smc.bin"); - - MODULE_FIRMWARE("radeon/PITCAIRN_pfp.bin"); - MODULE_FIRMWARE("radeon/PITCAIRN_me.bin"); -@@ -1657,9 +1656,6 @@ static int si_init_microcode(struct rade - switch (rdev->family) { - case CHIP_TAHITI: - chip_name = "TAHITI"; -- /* XXX: figure out which Tahitis need the new ucode */ -- if (0) -- new_smc = true; - new_chip_name = "tahiti"; - pfp_req_size = SI_PFP_UCODE_SIZE * 4; - me_req_size = SI_PM4_UCODE_SIZE * 4; -@@ -1671,12 +1667,9 @@ static int si_init_microcode(struct rade - break; - case CHIP_PITCAIRN: - chip_name = "PITCAIRN"; -- if ((rdev->pdev->revision == 0x81) || -- (rdev->pdev->device == 0x6810) || -- (rdev->pdev->device == 0x6811) || -- (rdev->pdev->device == 0x6816) || -- (rdev->pdev->device == 0x6817) || -- (rdev->pdev->device == 0x6806)) -+ if ((rdev->pdev->revision == 0x81) && -+ ((rdev->pdev->device == 0x6810) || -+ (rdev->pdev->device == 0x6811))) - new_smc = true; - new_chip_name = "pitcairn"; - pfp_req_size = SI_PFP_UCODE_SIZE * 4; -@@ -1689,15 +1682,15 @@ static int si_init_microcode(struct rade - break; - case CHIP_VERDE: - chip_name = "VERDE"; -- if ((rdev->pdev->revision == 0x81) || -- (rdev->pdev->revision == 0x83) || -- (rdev->pdev->revision == 0x87) || -- (rdev->pdev->device == 0x6820) || -- (rdev->pdev->device == 0x6821) || -- (rdev->pdev->device == 0x6822) || -- (rdev->pdev->device == 0x6823) || -- (rdev->pdev->device == 0x682A) || -- (rdev->pdev->device == 0x682B)) -+ if (((rdev->pdev->device == 0x6820) && -+ ((rdev->pdev->revision == 0x81) || -+ (rdev->pdev->revision == 0x83))) || -+ ((rdev->pdev->device == 0x6821) && -+ ((rdev->pdev->revision == 0x83) || -+ (rdev->pdev->revision == 0x87))) || -+ ((rdev->pdev->revision == 0x87) && -+ ((rdev->pdev->device == 0x6823) || -+ (rdev->pdev->device == 0x682b)))) - new_smc = true; - new_chip_name = "verde"; - pfp_req_size = SI_PFP_UCODE_SIZE * 4; -@@ -1710,13 +1703,13 @@ static int si_init_microcode(struct rade - break; - case CHIP_OLAND: - chip_name = "OLAND"; -- if ((rdev->pdev->revision == 0xC7) || -- (rdev->pdev->revision == 0x80) || -- (rdev->pdev->revision == 0x81) || -- (rdev->pdev->revision == 0x83) || -- (rdev->pdev->revision == 0x87) || -- (rdev->pdev->device == 0x6604) || -- (rdev->pdev->device == 0x6605)) -+ if (((rdev->pdev->revision == 0x81) && -+ ((rdev->pdev->device == 0x6600) || -+ (rdev->pdev->device == 0x6604) || -+ (rdev->pdev->device == 0x6605) || -+ (rdev->pdev->device == 0x6610))) || -+ ((rdev->pdev->revision == 0x83) && -+ (rdev->pdev->device == 0x6610))) - new_smc = true; - new_chip_name = "oland"; - pfp_req_size = SI_PFP_UCODE_SIZE * 4; -@@ -1728,12 +1721,15 @@ static int si_init_microcode(struct rade - break; - case CHIP_HAINAN: - chip_name = "HAINAN"; -- if ((rdev->pdev->revision == 0x81) || -- (rdev->pdev->revision == 0x83) || -- (rdev->pdev->revision == 0xC3) || -- (rdev->pdev->device == 0x6664) || -- (rdev->pdev->device == 0x6665) || -- (rdev->pdev->device == 0x6667)) -+ if (((rdev->pdev->revision == 0x81) && -+ (rdev->pdev->device == 0x6660)) || -+ ((rdev->pdev->revision == 0x83) && -+ ((rdev->pdev->device == 0x6660) || -+ (rdev->pdev->device == 0x6663) || -+ (rdev->pdev->device == 0x6665) || -+ (rdev->pdev->device == 0x6667))) || -+ ((rdev->pdev->revision == 0xc3) && -+ (rdev->pdev->device == 0x6665))) - new_smc = true; - new_chip_name = "hainan"; - pfp_req_size = SI_PFP_UCODE_SIZE * 4; |