Skip to content

Commit

Permalink
drm/amd/pm: only send GmiPwrDnControl msg on master die (v3)
Browse files Browse the repository at this point in the history
PMFW only returns 0 on master die and sends NACK back on other dies for
the message.

v2: only send GmiPwrDnControl msg on master die instead of all
dies.
v3: remove the pointer check for get_socket_id and get_die_id as they
should be present on Aldebaran.

Signed-off-by: Tao Zhou <tao.zhou1@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
  • Loading branch information
Tao Zhou authored and Alex Deucher committed Jan 11, 2022
1 parent 2096b74 commit 15084a8
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c
Original file line number Diff line number Diff line change
Expand Up @@ -1625,10 +1625,18 @@ static int aldebaran_set_df_cstate(struct smu_context *smu,

static int aldebaran_allow_xgmi_power_down(struct smu_context *smu, bool en)
{
return smu_cmn_send_smc_msg_with_param(smu,
SMU_MSG_GmiPwrDnControl,
en ? 0 : 1,
NULL);
struct amdgpu_device *adev = smu->adev;

/* The message only works on master die and NACK will be sent
back for other dies, only send it on master die */
if (!adev->smuio.funcs->get_socket_id(adev) &&
!adev->smuio.funcs->get_die_id(adev))
return smu_cmn_send_smc_msg_with_param(smu,
SMU_MSG_GmiPwrDnControl,
en ? 0 : 1,
NULL);
else
return 0;
}

static const struct throttling_logging_label {
Expand Down

0 comments on commit 15084a8

Please sign in to comment.