[PATCH] drm/amd/pm: workaround for compute workload type on some skus
Lazar, Lijo
lijo.lazar at amd.com
Fri Jun 9 04:29:37 UTC 2023
On 6/9/2023 8:25 AM, Kenneth Feng wrote:
> On smu 13.0.0, the compute workload type cannot be set on all the skus
> due to some other problems. This workaround is to make sure compute workload type
> can also run on some specific skus.
>
> Signed-off-by: Kenneth Feng <kenneth.feng at amd.com>
> ---
> .../drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 26 +++++++++++++++++++
> 1 file changed, 26 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
> index e2265f50bacc..6e8acd021ee6 100644
> --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
> @@ -2179,6 +2179,32 @@ static int smu_v13_0_0_set_power_profile_mode(struct smu_context *smu,
> }
> }
>
> + if (smu->power_profile_mode == PP_SMC_POWER_PROFILE_COMPUTE &&
> + (((smu->adev->pdev->device == 0x744C) && (smu->adev->pdev->revision == 0xC8)) ||
> + ((smu->adev->pdev->device == 0x744C) && (smu->adev->pdev->revision == 0xCC)))) {
> + ret = smu_cmn_update_table(smu,
> + SMU_TABLE_ACTIVITY_MONITOR_COEFF,
> + WORKLOAD_PPLIB_COMPUTE_BIT,
> + (void *)(&activity_monitor_external),
> + false);
> + if (ret) {
> + dev_err(smu->adev->dev, "[%s] Failed to get activity monitor!", __func__);
> + return ret;
> + }
> +
> + ret = smu_cmn_update_table(smu,
> + SMU_TABLE_ACTIVITY_MONITOR_COEFF,
> + WORKLOAD_PPLIB_CUSTOM_BIT,
> + (void *)(&activity_monitor_external),
> + true);
> + if (ret) {
> + dev_err(smu->adev->dev, "[%s] Failed to set activity monitor!", __func__);
> + return ret;
> + }
> +
> + smu->power_profile_mode = PP_SMC_POWER_PROFILE_CUSTOM;
Though custom profile is used to set compute profile as a workaround,
shouldn't this be set to COMPUTE to indicate that the current profile
set is COMPUTE?
Thanks,
Lijo
> + }
> +
> /* conv PP_SMC_POWER_PROFILE* to WORKLOAD_PPLIB_*_BIT */
> workload_type = smu_cmn_to_asic_specific_index(smu,
> CMN2ASIC_MAPPING_WORKLOAD,
More information about the amd-gfx
mailing list