[PATCH] drm/amd/pm: only send GmiPwrDnControl msg on master die (v2)
Zhou1, Tao
Tao.Zhou1 at amd.com
Tue Jan 11 07:20:49 UTC 2022
[AMD Official Use Only]
> -----Original Message-----
> From: Lazar, Lijo <Lijo.Lazar at amd.com>
> Sent: Tuesday, January 11, 2022 3:00 PM
> To: Zhou1, Tao <Tao.Zhou1 at amd.com>; amd-gfx at lists.freedesktop.org; Zhang,
> Hawking <Hawking.Zhang at amd.com>; Quan, Evan <Evan.Quan at amd.com>
> Subject: Re: [PATCH] drm/amd/pm: only send GmiPwrDnControl msg on master
> die (v2)
>
>
>
> On 1/11/2022 12:03 PM, Tao Zhou wrote:
> > 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.
> >
> > Signed-off-by: Tao Zhou <tao.zhou1 at amd.com>
> > ---
> > .../drm/amd/pm/swsmu/smu13/aldebaran_ppt.c | 25 ++++++++++++++++--
> -
> > 1 file changed, 21 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c
> > b/drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c
> > index 261892977654..3fe5c05ced77 100644
> > --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c
> > +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c
> > @@ -1625,10 +1625,27 @@ 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 &&
> > + adev->smuio.funcs->get_socket_id &&
> > + adev->smuio.funcs->get_die_id) {
> > + 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;
> > + }
> > + else
>
> The else part can be dropped. We always expect smuio functions to be present
> in aldebaran.
>
> Thanks,
> Lijo
[Tao] OK, I'll also remove the pointer check for get_socket_id and get_die_id.
>
> > + return smu_cmn_send_smc_msg_with_param(smu,
> > + SMU_MSG_GmiPwrDnControl,
> > + en ? 0 : 1,
> > + NULL);
> > }
> >
> > static const struct throttling_logging_label {
> >
More information about the amd-gfx
mailing list