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

Andy Furniss adf.lists at gmail.com
Fri Oct 6 18:19:39 UTC 2017


These also fix for me.
Testing with 4.15-wip I also need the partial revert patch.

Tom St Denis wrote:
> 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;
>>   }
>>
> 
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx



More information about the amd-gfx mailing list