Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> On Thu, Jan 17, 2019 at 6:48 AM Evan Quan <evan.quan@xxxxxxx> wrote: > > No display related settings are needed on dpm level change. > > Change-Id: I86b32687a3bc14521be89dd4a3c9fb7de7f06c4b > Signed-off-by: Evan Quan <evan.quan@xxxxxxx> > --- > drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c | 10 +++++----- > drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c | 11 +++++------ > drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.h | 2 +- > 3 files changed, 11 insertions(+), 12 deletions(-) > > diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c > index 310b102a9292..6cd6497c6fc2 100644 > --- a/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c > +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c > @@ -273,7 +273,7 @@ int hwmgr_hw_fini(struct pp_hwmgr *hwmgr) > > phm_stop_thermal_controller(hwmgr); > psm_set_boot_states(hwmgr); > - psm_adjust_power_state_dynamic(hwmgr, false, NULL); > + psm_adjust_power_state_dynamic(hwmgr, true, NULL); > phm_disable_dynamic_state_management(hwmgr); > phm_disable_clock_power_gatings(hwmgr); > > @@ -295,7 +295,7 @@ int hwmgr_suspend(struct pp_hwmgr *hwmgr) > ret = psm_set_boot_states(hwmgr); > if (ret) > return ret; > - ret = psm_adjust_power_state_dynamic(hwmgr, false, NULL); > + ret = psm_adjust_power_state_dynamic(hwmgr, true, NULL); > if (ret) > return ret; > ret = phm_power_down_asic(hwmgr); > @@ -325,7 +325,7 @@ int hwmgr_resume(struct pp_hwmgr *hwmgr) > if (ret) > return ret; > > - ret = psm_adjust_power_state_dynamic(hwmgr, false, NULL); > + ret = psm_adjust_power_state_dynamic(hwmgr, true, NULL); > > return ret; > } > @@ -379,12 +379,12 @@ int hwmgr_handle_task(struct pp_hwmgr *hwmgr, enum amd_pp_task task_id, > ret = psm_set_user_performance_state(hwmgr, requested_ui_label, &requested_ps); > if (ret) > return ret; > - ret = psm_adjust_power_state_dynamic(hwmgr, false, requested_ps); > + ret = psm_adjust_power_state_dynamic(hwmgr, true, requested_ps); > break; > } > case AMD_PP_TASK_COMPLETE_INIT: > case AMD_PP_TASK_READJUST_POWER_STATE: > - ret = psm_adjust_power_state_dynamic(hwmgr, false, NULL); > + ret = psm_adjust_power_state_dynamic(hwmgr, true, NULL); > break; > default: > break; > diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c b/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c > index 68f3dcaa8070..ce177d7f04cb 100644 > --- a/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c > +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c > @@ -256,16 +256,14 @@ static void power_state_management(struct pp_hwmgr *hwmgr, > } > } > > -int psm_adjust_power_state_dynamic(struct pp_hwmgr *hwmgr, bool skip, > +int psm_adjust_power_state_dynamic(struct pp_hwmgr *hwmgr, bool skip_display_settings, > struct pp_power_state *new_ps) > { > uint32_t index; > long workload; > > - if (skip) > - return 0; > - > - phm_display_configuration_changed(hwmgr); > + if (!skip_display_settings) > + phm_display_configuration_changed(hwmgr); > > if (hwmgr->ps) > power_state_management(hwmgr, new_ps); > @@ -276,7 +274,8 @@ int psm_adjust_power_state_dynamic(struct pp_hwmgr *hwmgr, bool skip, > */ > phm_apply_clock_adjust_rules(hwmgr); > > - phm_notify_smc_display_config_after_ps_adjustment(hwmgr); > + if (!skip_display_settings) > + phm_notify_smc_display_config_after_ps_adjustment(hwmgr); > > if ((hwmgr->request_dpm_level != hwmgr->dpm_level) && > !phm_force_dpm_levels(hwmgr, hwmgr->request_dpm_level)) > diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.h b/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.h > index fa1b6825036a..b62d55f1f289 100644 > --- a/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.h > +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.h > @@ -34,7 +34,7 @@ int psm_set_user_performance_state(struct pp_hwmgr *hwmgr, > enum PP_StateUILabel label_id, > struct pp_power_state **state); > int psm_adjust_power_state_dynamic(struct pp_hwmgr *hwmgr, > - bool skip, > + bool skip_display_settings, > struct pp_power_state *new_ps); > > #endif > -- > 2.20.1 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx