drm/amdgpu/smu11: add smu support for navi12
authorXiaojie Yuan <xiaojie.yuan@amd.com>
Thu, 1 Aug 2019 19:54:59 +0000 (14:54 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 2 Aug 2019 15:30:41 +0000 (10:30 -0500)
Same as other Navi asics.

Signed-off-by: Xiaojie Yuan <xiaojie.yuan@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
drivers/gpu/drm/amd/powerplay/smu_v11_0.c

index 0065111..3b44bbc 100644 (file)
@@ -726,6 +726,7 @@ static int smu_set_funcs(struct amdgpu_device *adev)
        case CHIP_VEGA20:
        case CHIP_NAVI10:
        case CHIP_NAVI14:
+       case CHIP_NAVI12:
        case CHIP_ARCTURUS:
                if (adev->pm.pp_feature & PP_OVERDRIVE_MASK)
                        smu->od_enabled = true;
index 848ad04..ee739c0 100644 (file)
@@ -49,6 +49,7 @@ MODULE_FIRMWARE("amdgpu/vega20_smc.bin");
 MODULE_FIRMWARE("amdgpu/arcturus_smc.bin");
 MODULE_FIRMWARE("amdgpu/navi10_smc.bin");
 MODULE_FIRMWARE("amdgpu/navi14_smc.bin");
+MODULE_FIRMWARE("amdgpu/navi12_smc.bin");
 
 #define SMU11_VOLTAGE_SCALE 4
 
@@ -166,6 +167,9 @@ static int smu_v11_0_init_microcode(struct smu_context *smu)
        case CHIP_NAVI14:
                chip_name = "navi14";
                break;
+       case CHIP_NAVI12:
+               chip_name = "navi12";
+               break;
        default:
                BUG();
        }
@@ -1334,6 +1338,7 @@ static int smu_v11_0_gfx_off_control(struct smu_context *smu, bool enable)
                break;
        case CHIP_NAVI10:
        case CHIP_NAVI14:
+       case CHIP_NAVI12:
                if (!(adev->pm.pp_feature & PP_GFXOFF_MASK))
                        return 0;
                mutex_lock(&smu->mutex);
@@ -1758,6 +1763,7 @@ void smu_v11_0_set_smu_funcs(struct smu_context *smu)
                break;
        case CHIP_NAVI10:
        case CHIP_NAVI14:
+       case CHIP_NAVI12:
                navi10_set_ppt_funcs(smu);
                break;
        default: