xgmi dpm is handled by the SMU.
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
 
        dev_dbg(adev->dev, "Set xgmi pstate %d.\n", pstate);
 
-       if (is_support_sw_smu(adev))
+       if (is_support_sw_smu_xgmi(adev))
                ret = smu_set_xgmi_pstate(&adev->smu, pstate);
        if (ret)
                dev_err(adev->dev,
 
                return false;
 }
 
+bool is_support_sw_smu_xgmi(struct amdgpu_device *adev)
+{
+       if (amdgpu_dpm != 1)
+               return false;
+
+       if (adev->asic_type == CHIP_VEGA20)
+               return true;
+
+       return false;
+}
+
 int smu_sys_get_pp_table(struct smu_context *smu, void **table)
 {
        struct smu_table_context *smu_table = &smu->smu_table;
 
                     void *table_data, bool drv2smu);
 
 bool is_support_sw_smu(struct amdgpu_device *adev);
+bool is_support_sw_smu_xgmi(struct amdgpu_device *adev);
 int smu_reset(struct smu_context *smu);
 int smu_common_read_sensor(struct smu_context *smu, enum amd_pp_sensors sensor,
                           void *data, uint32_t *size);