summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshaoyunl <shaoyun.liu@amd.com>2019-04-15 11:22:38 -0400
committerAlex Deucher <alexander.deucher@amd.com>2019-04-19 11:32:32 -0500
commita1b11201af9a934f0c4b2218c25a7b75ca2ff42a (patch)
tree321e61d0ee043c9e503cb81d831c7874c12bc092
parent46dd9ff7246fd21cc4228a4e7e1d40c30f210dec (diff)
drm/powerplay : send SMC message to set XGMI pstate
Send message with parameter to SMC to set xgmi pstate Signed-off-by: shaoyunl <shaoyun.liu@amd.com> Reviewed-by: Evan Quan <evan.quan@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/powerplay/smu_v11_0.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c
index c478b38662d0..92903a4cc4d8 100644
--- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c
+++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c
@@ -1896,8 +1896,13 @@ set_fan_speed_rpm_failed:
static int smu_v11_0_set_xgmi_pstate(struct smu_context *smu,
uint32_t pstate)
{
- /* send msg to SMU to set pstate */
- return 0;
+ int ret = 0;
+ mutex_lock(&(smu->mutex));
+ ret = smu_send_smc_msg_with_param(smu,
+ SMU_MSG_SetXgmiMode,
+ pstate ? XGMI_STATE_D0 : XGMI_STATE_D3);
+ mutex_unlock(&(smu->mutex));
+ return ret;
}
static const struct smu_funcs smu_v11_0_funcs = {