>I don't think backend_init actually touches the hw anywhere else. >Seems like it might be better to move this to setup_asic_task for >consistency. Thanks Alex, you are right. the change for telemetry will cause telemetry setting not restore after s3/s4 resume back. Best Regards Rex ________________________________ From: Alex Deucher <alexdeucher@xxxxxxxxx> Sent: Friday, February 23, 2018 1:01 PM To: Zhu, Rex Cc: amd-gfx list Subject: Re: [PATCH] drm/amd/pp: Cleaning up vega10_enable_dpm_tasks function On Thu, Feb 22, 2018 at 11:21 PM, Rex Zhu <Rex.Zhu at amd.com> wrote: > move out functions that unrelated to enable dpm task. > > Change-Id: I93416e0eea82325040557a64af2b82a38d8c32ce > Signed-off-by: Rex Zhu <Rex.Zhu at amd.com> > --- > drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 14 +++++--------- > drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.h | 1 - > 2 files changed, 5 insertions(+), 10 deletions(-) > > diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c > index b13f55d..c6cc6b2 100644 > --- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c > +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c > @@ -811,7 +811,8 @@ static int vega10_hwmgr_backend_init(struct pp_hwmgr *hwmgr) > data->vddci_control = VEGA10_VOLTAGE_CONTROL_BY_GPIO; > } > > - data->config_telemetry = config_telemetry; > + smum_send_msg_to_smc_with_parameter(hwmgr, > + PPSMC_MSG_ConfigureTelemetry, config_telemetry); I don't think backend_init actually touches the hw anywhere else. Seems like it might be better to move this to setup_asic_task for consistency. Alex > > vega10_set_features_platform_caps(hwmgr); > > @@ -928,6 +929,9 @@ static int vega10_setup_asic_task(struct pp_hwmgr *hwmgr) > "Failed to set up led dpm config!", > return -EINVAL); > > + smum_send_msg_to_smc_with_parameter(hwmgr, > + PPSMC_MSG_NumOfDisplays, 0); > + > return 0; > } > > @@ -2853,16 +2857,8 @@ static int vega10_start_dpm(struct pp_hwmgr *hwmgr, uint32_t bitmap) > > static int vega10_enable_dpm_tasks(struct pp_hwmgr *hwmgr) > { > - struct vega10_hwmgr *data = > - (struct vega10_hwmgr *)(hwmgr->backend); > int tmp_result, result = 0; > > - smum_send_msg_to_smc_with_parameter(hwmgr, > - PPSMC_MSG_ConfigureTelemetry, data->config_telemetry); > - > - smum_send_msg_to_smc_with_parameter(hwmgr, > - PPSMC_MSG_NumOfDisplays, 0); > - > tmp_result = (!smum_is_dpm_running(hwmgr)) ? 0 : -1; > PP_ASSERT_WITH_CODE(!tmp_result, > "DPM is already running right , skipping re-enablement!", > diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.h b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.h > index ab3e879..df7999d 100644 > --- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.h > +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.h > @@ -380,7 +380,6 @@ struct vega10_hwmgr { > struct smu_features smu_features[GNLD_FEATURES_MAX]; > struct vega10_smc_state_table smc_state_table; > > - uint32_t config_telemetry; > uint32_t acg_loop_state; > uint32_t mem_channels; > uint8_t custom_profile_mode[4]; > -- > 1.9.1 > > _______________________________________________ > amd-gfx mailing list > amd-gfx at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx amd-gfx Info Page - freedesktop.org<https://lists.freedesktop.org/mailman/listinfo/amd-gfx> lists.freedesktop.org Subscribing to amd-gfx: Subscribe to amd-gfx by filling out the following form. Use of all freedesktop.org lists is subject to our Code of ... -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20180223/a3fd41ca/attachment-0001.html>