Re: [PATCH] drm/amd/pp: Cleaning up vega10_enable_dpm_tasks function

2018-02-22 Thread Alex Deucher
On Fri, Feb 23, 2018 at 12:22 AM, Rex Zhu  wrote:
> 1. move display num initialize out of dpm enable tasks.
> 2. do not set/restore smc telemetry if dpm is runing.
>
> Change-Id: I63431b169bb077fa60cca02f0db7038af1ba1601
> Signed-off-by: Rex Zhu 

Reviewed-by: Alex Deucher 

> ---
>  drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 11 +--
>  1 file changed, 5 insertions(+), 6 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..9b0fcb6 100644
> --- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
> +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
> @@ -928,6 +928,8 @@ 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;
>  }
>
> @@ -2857,12 +2859,6 @@ static int vega10_enable_dpm_tasks(struct pp_hwmgr 
> *hwmgr)
> (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!",
> @@ -2873,6 +2869,9 @@ static int vega10_enable_dpm_tasks(struct pp_hwmgr 
> *hwmgr)
> smum_send_msg_to_smc_with_parameter(hwmgr,
> PPSMC_MSG_UpdatePkgPwrPidAlpha, 1);
>
> +   smum_send_msg_to_smc_with_parameter(hwmgr,
> +   PPSMC_MSG_ConfigureTelemetry, data->config_telemetry);
> +
> tmp_result = vega10_construct_voltage_tables(hwmgr);
> PP_ASSERT_WITH_CODE(!tmp_result,
> "Failed to contruct voltage tables!",
> --
> 1.9.1
>
> ___
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


Re: [PATCH] drm/amd/pp: Cleaning up vega10_enable_dpm_tasks function

2018-02-22 Thread Zhu, Rex
>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 <alexdeuc...@gmail.com>
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@amd.com> wrote:
> move out functions that unrelated to enable dpm task.
>
> Change-Id: I93416e0eea82325040557a64af2b82a38d8c32ce
> Signed-off-by: Rex Zhu <rex@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_featuressmu_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@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 ...


___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


Re: [PATCH] drm/amd/pp: Cleaning up vega10_enable_dpm_tasks function

2018-02-22 Thread Alex Deucher
On Thu, Feb 22, 2018 at 11:21 PM, Rex Zhu  wrote:
> move out functions that unrelated to enable dpm task.
>
> Change-Id: I93416e0eea82325040557a64af2b82a38d8c32ce
> Signed-off-by: Rex Zhu 
> ---
>  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_featuressmu_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@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx