RE: [PATCH] drm/amd/swsmu: modify the gfx activity scaling

2024-02-28 Thread Zhang, Yifan
[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
>


Re: [PATCH] drm/amd/swsmu: modify the gfx activity scaling

2024-02-28 Thread Alex Deucher
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
>