[PATCH 2/2] drm/amd/powerplay: override duty cycle on Vega20

Deucher, Alexander Alexander.Deucher at amd.com
Thu Feb 28 15:43:15 UTC 2019


> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of Evan
> Quan
> Sent: Thursday, February 28, 2019 5:32 AM
> To: amd-gfx at lists.freedesktop.org
> Cc: Quan, Evan <Evan.Quan at amd.com>
> Subject: [PATCH 2/2] drm/amd/powerplay: override duty cycle on Vega20
> 
> This is needed for the new SMC firmwares only.
> 
> Change-Id: I5934e5161ec53c1dd73cb1542ef6b738ad2e620c
> Signed-off-by: Evan Quan <evan.quan at amd.com>

Series is:
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

> ---
>  .../gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c   | 16
> ++++++++++++++++
>  drivers/gpu/drm/amd/powerplay/inc/vega20_ppsmc.h |  3 ++-
>  2 files changed, 18 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c
> b/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c
> index 9aa7bec1b5fe..d35f60ab3404 100644
> --- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c
> +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c
> @@ -828,6 +828,17 @@ static int vega20_override_pcie_parameters(struct
> pp_hwmgr *hwmgr)
>  	return 0;
>  }
> 
> +static int vega20_override_duty_cycle(struct pp_hwmgr *hwmgr) {
> +	struct amdgpu_device *adev = (struct amdgpu_device *)(hwmgr-
> >adev);
> +	int ret = 0;
> +
> +	if (adev->pm.fw_version >= 0x00282700)
> +		ret = smum_send_msg_to_smc(hwmgr,
> PPSMC_MSG_OverrideDutyCycle);
> +
> +	return ret;
> +}
> +
>  static int vega20_set_allowed_featuresmask(struct pp_hwmgr *hwmgr)  {
>  	struct vega20_hwmgr *data =
> @@ -1644,6 +1655,11 @@ static int vega20_enable_dpm_tasks(struct
> pp_hwmgr *hwmgr)
>  			"[EnableDPMTasks] Failed to enable all smu
> features!",
>  			return result);
> 
> +	result = vega20_override_duty_cycle(hwmgr);
> +	PP_ASSERT_WITH_CODE(!result,
> +			"[EnableDPMTasks] Failed to override duty cycle!",
> +			return result);
> +
>  	result = vega20_override_pcie_parameters(hwmgr);
>  	PP_ASSERT_WITH_CODE(!result,
>  			"[EnableDPMTasks] Failed to override pcie
> parameters!", diff --git
> a/drivers/gpu/drm/amd/powerplay/inc/vega20_ppsmc.h
> b/drivers/gpu/drm/amd/powerplay/inc/vega20_ppsmc.h
> index 4f63a736ea0e..4a1e01f04cf5 100644
> --- a/drivers/gpu/drm/amd/powerplay/inc/vega20_ppsmc.h
> +++ b/drivers/gpu/drm/amd/powerplay/inc/vega20_ppsmc.h
> @@ -119,7 +119,8 @@
>  #define PPSMC_MSG_PrepareMp1ForShutdown          0x5A
>  #define PPSMC_MSG_SetMGpuFanBoostLimitRpm        0x5D
>  #define PPSMC_MSG_GetAVFSVoltageByDpm            0x5F
> -#define PPSMC_Message_Count                      0x60
> +#define PPSMC_MSG_OverrideDutyCycle              0x64
> +#define PPSMC_Message_Count                      0x65
> 
>  typedef uint32_t PPSMC_Result;
>  typedef uint32_t PPSMC_Msg;
> --
> 2.21.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