Re: [PATCH] drm/amdgpu: Renoir/Cezanne GPU power reporting issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx>

On Thu, Jan 12, 2023 at 9:11 PM Liu, Aaron <Aaron.Liu@xxxxxxx> wrote:
>
> Reviewed-by: Aaron Liu aaron.liu@xxxxxxx
>
>
>
> From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Zhang, Jesse(Jie)
> Sent: Friday, January 13, 2023 10:07 AM
> To: Deucher, Alexander <Alexander.Deucher@xxxxxxx>
> Cc: amd-gfx@xxxxxxxxxxxxxxxxxxxxx
> Subject: [PATCH] drm/amdgpu: Renoir/Cezanne GPU power reporting issue
>
>
>
> [AMD Official Use Only - General]
>
>
>
>
>
>     drm/amdgpu: Correct the power calcultion for Renior/Cezanne.
>
>     From smu firmware,the value of power is transferred  in units of watts.
>
>     Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/2321
>
>     Fixes: 137aac26a2ed ("drm/amdgpu/smu12: fix power reporting on renoir")
>
>
>
>     Acked-by: Alex Deucher alexander.deucher@xxxxxxx
>
>     Signed-off-by: Jesse Zhang Jesse.Zhang@xxxxxxx
>
>
>
> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c
>
> index 85e22210963f..96a49a3b3ad9 100644
>
> --- a/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c
>
> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c
>
> @@ -1171,6 +1171,7 @@ static int renoir_get_smu_metrics_data(struct smu_context *smu,
>
>         int ret = 0;
>
>         uint32_t apu_percent = 0;
>
>         uint32_t dgpu_percent = 0;
>
> +       struct amdgpu_device *adev = smu->adev;
>
>
>
>
>
>         ret = smu_cmn_get_metrics_table(smu,
>
> @@ -1196,7 +1197,11 @@ static int renoir_get_smu_metrics_data(struct smu_context *smu,
>
>                 *value = metrics->AverageUvdActivity / 100;
>
>                 break;
>
>         case METRICS_AVERAGE_SOCKETPOWER:
>
> -               *value = (metrics->CurrentSocketPower << 8) / 1000;
>
> +               if (((adev->ip_versions[MP1_HWIP][0] == IP_VERSION(12, 0, 1)) && (adev->pm.fw_version >= 0x40000f))
>
> +                       || ((adev->ip_versions[MP1_HWIP][0] == IP_VERSION(12, 0, 0)) && (adev->pm.fw_version >= 0x373200)))
>
> +                       *value = metrics->CurrentSocketPower << 8;
>
> +               else
>
> +                       *value = (metrics->CurrentSocketPower << 8) / 1000;
>
>                 break;
>
>         case METRICS_TEMPERATURE_EDGE:
>
>                 *value = (metrics->GfxTemperature / 100) *



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux