amd/powerplay: No SW XGMI dpm for Arcturus rev 2
authorYong Zhao <Yong.Zhao@amd.com>
Fri, 28 Jun 2019 09:45:39 +0000 (05:45 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 18 Jul 2019 19:18:06 +0000 (14:18 -0500)
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>
drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h

index 41e648d56eca57ca716fecef4536da36b4a803ab..4e8d60eec0fe8822cd395dd2929647842fffdf71 100644 (file)
@@ -248,7 +248,7 @@ int amdgpu_xgmi_set_pstate(struct amdgpu_device *adev, int pstate)
 
        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,
index d977d68320c977c7a3786c670f8f5622dce08aab..c8048b865161be21c16a7d33febc1c53e71a3dce 100644 (file)
@@ -370,6 +370,17 @@ bool is_support_sw_smu(struct amdgpu_device *adev)
                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;
index d940e7bef534a57436b527261c8848fc4242e3e1..514d3151885315dfd94d584d7a8159b673f9e3e6 100644 (file)
@@ -951,6 +951,7 @@ int smu_update_table(struct smu_context *smu, enum smu_table_id table_index, int
                     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);