drm/amd/pm: workaround for the wrong ac power detection on smu 13.0.0

Mario Limonciello mario.limonciello at amd.com
Fri Aug 25 20:10:16 UTC 2023


On 8/24/2023 22:19, Kenneth Feng wrote:
> workaround for the wrong ac power detection on smu 13.0.0
> 
> Signed-off-by: Kenneth Feng <kenneth.feng at amd.com>

This workaround appears to be only necessary if you're missing these 
commits.

a7fbfd44c020 ("usb: typec: ucsi: Mark dGPUs as DEVICE scope")
95339f40a8b6 ("power: supply: Fix logic checking if system is running 
from battery")

If this is run on a kernel with those commits then it's going to be 
broken in reverse.

I suspect the reason that you want to do this workaround is because 
you're trying to run on a kernel without them and which you can't add them.

If that's the case I think a better/safer temporary workaround is to add 
a module parameter or a debugfs entry to use.

> ---
>   drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c       | 3 +--
>   drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 1 -
>   2 files changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c
> index 0232adb95df3..fd1798fd716e 100644
> --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c
> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c
> @@ -1021,8 +1021,7 @@ static int smu_v13_0_process_pending_interrupt(struct smu_context *smu)
>   {
>   	int ret = 0;
>   
> -	if (smu->dc_controlled_by_gpio &&
> -	    smu_cmn_feature_is_enabled(smu, SMU_FEATURE_ACDC_BIT))
> +	if (smu_cmn_feature_is_enabled(smu, SMU_FEATURE_ACDC_BIT))
>   		ret = smu_v13_0_allow_ih_interrupt(smu);
>   
>   	return ret;
> 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 3903a47669e4..128468355375 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
> @@ -2664,7 +2664,6 @@ static const struct pptable_funcs smu_v13_0_0_ppt_funcs = {
>   	.enable_mgpu_fan_boost = smu_v13_0_0_enable_mgpu_fan_boost,
>   	.get_power_limit = smu_v13_0_0_get_power_limit,
>   	.set_power_limit = smu_v13_0_set_power_limit,
> -	.set_power_source = smu_v13_0_set_power_source,
>   	.get_power_profile_mode = smu_v13_0_0_get_power_profile_mode,
>   	.set_power_profile_mode = smu_v13_0_0_set_power_profile_mode,
>   	.run_btc = smu_v13_0_run_btc,



More information about the amd-gfx mailing list