[AMD Official Use Only - General]
Reviewed-by: Yifan Zhang
-Original Message-
From: Alex Deucher
Sent: Wednesday, February 28, 2024 10:25 PM
To: Ma, Li
Cc: amd-gfx@lists.freedesktop.org; Deucher, Alexander
; Zhang, Yifan ; Yu, Lang
Subject: Re: [PATCH] drm/amd/swsmu: modify the gfx activity scaling
On Wed, Feb 28, 2024 at 6:39 AM Li Ma wrote:
>
> Add an if condition for gfx activity because the scaling has been changed
> after smu fw version 5d4600.
> And remove a warning log.
>
> Signed-off-by: Li Ma
Acked-by: Alex Deucher
> ---
> drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c | 2 --
> drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c | 5 -
> 2 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c
> b/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c
> index 2aa7e9945a0b..7ac9bc0df8fd 100644
> --- a/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c
> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c
> @@ -229,8 +229,6 @@ int smu_v14_0_check_fw_version(struct smu_context *smu)
> smu->smc_driver_if_version =
> SMU14_DRIVER_IF_VERSION_SMU_V14_0_2;
> break;
> case IP_VERSION(14, 0, 0):
> - if ((smu->smc_fw_version < 0x5d3a00))
> - dev_warn(smu->adev->dev, "The PMFW version(%x) is
> behind in this BIOS!\n", smu->smc_fw_version);
> smu->smc_driver_if_version =
> SMU14_DRIVER_IF_VERSION_SMU_V14_0_0;
> break;
> default:
> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c
> b/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c
> index 47fdbae4adfc..9310c4758e38 100644
> --- a/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c
> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c
> @@ -261,7 +261,10 @@ static int smu_v14_0_0_get_smu_metrics_data(struct
> smu_context *smu,
> *value = metrics->MpipuclkFrequency;
> break;
> case METRICS_AVERAGE_GFXACTIVITY:
> - *value = metrics->GfxActivity / 100;
> + if ((smu->smc_fw_version > 0x5d4600))
> + *value = metrics->GfxActivity;
> + else
> + *value = metrics->GfxActivity / 100;
> break;
> case METRICS_AVERAGE_VCNACTIVITY:
> *value = metrics->VcnActivity / 100;
> --
> 2.25.1
>