[PATCH 2/2] drm/amd/powerplay: fix mclk can't switch on Tonga

Tom St Denis tom.stdenis at amd.com
Fri Oct 6 10:39:50 UTC 2017


Hi Rex,

Thanks.  Everything seems to be functional again on my Tonga.

Cheers,
Tom

On 06/10/17 01:18 AM, Rex Zhu wrote:
> regresstion issue caused by
> commit 47047263c52779f1f3393c32e3e53661b53a372e
> ("drm/amd/powerplay: delete eventmgr related files.")
> 
> Change-Id: Ia2ddf83443a666fd1e97ddf4142acce147be00dc
> Signed-off-by: Rex Zhu <Rex.Zhu at amd.com>
> ---
>   drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c  | 1 -
>   drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c | 6 +++++-
>   2 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c
> index 35e80c9..ce59e0e 100644
> --- a/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c
> +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c
> @@ -292,7 +292,6 @@ int hwmgr_hw_fini(struct pp_instance *handle)
>   
>   	phm_stop_thermal_controller(hwmgr);
>   	psm_set_boot_states(hwmgr);
> -	phm_display_configuration_changed(hwmgr);
>   	psm_adjust_power_state_dynamic(hwmgr, false, NULL);
>   	phm_disable_dynamic_state_management(hwmgr);
>   	phm_disable_clock_power_gatings(hwmgr);
> diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c b/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c
> index 167cdc3..ffa44bb 100644
> --- a/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c
> +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c
> @@ -224,6 +224,8 @@ int psm_adjust_power_state_dynamic(struct pp_hwmgr *hwmgr, bool skip,
>   	if (skip)
>   		return 0;
>   
> +	phm_display_configuration_changed(hwmgr);
> +
>   	if (new_ps != NULL)
>   		requested = new_ps;
>   	else
> @@ -232,7 +234,6 @@ int psm_adjust_power_state_dynamic(struct pp_hwmgr *hwmgr, bool skip,
>   	pcurrent = hwmgr->current_ps;
>   
>   	phm_apply_state_adjust_rules(hwmgr, requested, pcurrent);
> -
>   	if (pcurrent == NULL || (0 != phm_check_states_equal(hwmgr,
>   			&pcurrent->hardware, &requested->hardware, &equal)))
>   		equal = false;
> @@ -241,6 +242,9 @@ int psm_adjust_power_state_dynamic(struct pp_hwmgr *hwmgr, bool skip,
>   		phm_set_power_state(hwmgr, &pcurrent->hardware, &requested->hardware);
>   		memcpy(hwmgr->current_ps, hwmgr->request_ps, hwmgr->ps_size);
>   	}
> +
> +	phm_notify_smc_display_config_after_ps_adjustment(hwmgr);
> +
>   	return 0;
>   }
>   
> 



More information about the amd-gfx mailing list