aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2017-02-26 15:34:42 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2017-02-26 15:34:42 -0500
commit8e22e1b3499a446df48c2b26667ca36c55bf864c (patch)
tree5329f98b3eb3c95a9dcbab0fa4f9b6e62f0e788d /drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
parent00d3c14f14d51babd8aeafd5fa734ccf04f5ca3d (diff)
parent64a577196d66b44e37384bc5c4d78c61f59d5b2a (diff)
Merge airlied/drm-next into drm-misc-next
Backmerge the main pull request to sync up with all the newly landed drivers. Otherwise we'll have chaos even before 4.12 started in earnest. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c45
1 files changed, 35 insertions, 10 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
index a5df1ef306d9..d9e5aa4a79ef 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
@@ -834,32 +834,57 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
834 case CHIP_TOPAZ: 834 case CHIP_TOPAZ:
835 if (((adev->pdev->device == 0x6900) && (adev->pdev->revision == 0x81)) || 835 if (((adev->pdev->device == 0x6900) && (adev->pdev->revision == 0x81)) ||
836 ((adev->pdev->device == 0x6900) && (adev->pdev->revision == 0x83)) || 836 ((adev->pdev->device == 0x6900) && (adev->pdev->revision == 0x83)) ||
837 ((adev->pdev->device == 0x6907) && (adev->pdev->revision == 0x87))) 837 ((adev->pdev->device == 0x6907) && (adev->pdev->revision == 0x87))) {
838 info->is_kicker = true;
838 strcpy(fw_name, "amdgpu/topaz_k_smc.bin"); 839 strcpy(fw_name, "amdgpu/topaz_k_smc.bin");
839 else 840 } else
840 strcpy(fw_name, "amdgpu/topaz_smc.bin"); 841 strcpy(fw_name, "amdgpu/topaz_smc.bin");
841 break; 842 break;
842 case CHIP_TONGA: 843 case CHIP_TONGA:
843 if (((adev->pdev->device == 0x6939) && (adev->pdev->revision == 0xf1)) || 844 if (((adev->pdev->device == 0x6939) && (adev->pdev->revision == 0xf1)) ||
844 ((adev->pdev->device == 0x6938) && (adev->pdev->revision == 0xf1))) 845 ((adev->pdev->device == 0x6938) && (adev->pdev->revision == 0xf1))) {
846 info->is_kicker = true;
845 strcpy(fw_name, "amdgpu/tonga_k_smc.bin"); 847 strcpy(fw_name, "amdgpu/tonga_k_smc.bin");
846 else 848 } else
847 strcpy(fw_name, "amdgpu/tonga_smc.bin"); 849 strcpy(fw_name, "amdgpu/tonga_smc.bin");
848 break; 850 break;
849 case CHIP_FIJI: 851 case CHIP_FIJI:
850 strcpy(fw_name, "amdgpu/fiji_smc.bin"); 852 strcpy(fw_name, "amdgpu/fiji_smc.bin");
851 break; 853 break;
852 case CHIP_POLARIS11: 854 case CHIP_POLARIS11:
853 if (type == CGS_UCODE_ID_SMU) 855 if (type == CGS_UCODE_ID_SMU) {
854 strcpy(fw_name, "amdgpu/polaris11_smc.bin"); 856 if (((adev->pdev->device == 0x67ef) &&
855 else if (type == CGS_UCODE_ID_SMU_SK) 857 ((adev->pdev->revision == 0xe0) ||
858 (adev->pdev->revision == 0xe2) ||
859 (adev->pdev->revision == 0xe5))) ||
860 ((adev->pdev->device == 0x67ff) &&
861 ((adev->pdev->revision == 0xcf) ||
862 (adev->pdev->revision == 0xef) ||
863 (adev->pdev->revision == 0xff)))) {
864 info->is_kicker = true;
865 strcpy(fw_name, "amdgpu/polaris11_k_smc.bin");
866 } else
867 strcpy(fw_name, "amdgpu/polaris11_smc.bin");
868 } else if (type == CGS_UCODE_ID_SMU_SK) {
856 strcpy(fw_name, "amdgpu/polaris11_smc_sk.bin"); 869 strcpy(fw_name, "amdgpu/polaris11_smc_sk.bin");
870 }
857 break; 871 break;
858 case CHIP_POLARIS10: 872 case CHIP_POLARIS10:
859 if (type == CGS_UCODE_ID_SMU) 873 if (type == CGS_UCODE_ID_SMU) {
860 strcpy(fw_name, "amdgpu/polaris10_smc.bin"); 874 if ((adev->pdev->device == 0x67df) &&
861 else if (type == CGS_UCODE_ID_SMU_SK) 875 ((adev->pdev->revision == 0xe0) ||
876 (adev->pdev->revision == 0xe3) ||
877 (adev->pdev->revision == 0xe4) ||
878 (adev->pdev->revision == 0xe5) ||
879 (adev->pdev->revision == 0xe7) ||
880 (adev->pdev->revision == 0xef))) {
881 info->is_kicker = true;
882 strcpy(fw_name, "amdgpu/polaris10_k_smc.bin");
883 } else
884 strcpy(fw_name, "amdgpu/polaris10_smc.bin");
885 } else if (type == CGS_UCODE_ID_SMU_SK) {
862 strcpy(fw_name, "amdgpu/polaris10_smc_sk.bin"); 886 strcpy(fw_name, "amdgpu/polaris10_smc_sk.bin");
887 }
863 break; 888 break;
864 case CHIP_POLARIS12: 889 case CHIP_POLARIS12:
865 strcpy(fw_name, "amdgpu/polaris12_smc.bin"); 890 strcpy(fw_name, "amdgpu/polaris12_smc.bin");