diff options
Diffstat (limited to 'drivers/gpu')
| -rw-r--r-- | drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c | 8 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/powerplay/inc/rv_ppsmc.h | 1 | 
2 files changed, 8 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c index 0f252265a753..f0727b4f1ebf 100644 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c @@ -206,12 +206,18 @@ static int smu10_set_power_state_tasks(struct pp_hwmgr *hwmgr, const void *input  static int smu10_init_power_gate_state(struct pp_hwmgr *hwmgr)  {  	struct smu10_hwmgr *smu10_data = (struct smu10_hwmgr *)(hwmgr->backend); +	struct amdgpu_device *adev = hwmgr->adev;  	smu10_data->vcn_power_gated = true;  	smu10_data->isp_tileA_power_gated = true;  	smu10_data->isp_tileB_power_gated = true; -	return 0; +	if (adev->pg_flags & AMD_PG_SUPPORT_GFX_PG) +		return smum_send_msg_to_smc_with_parameter(hwmgr, +							   PPSMC_MSG_SetGfxCGPG, +							   true); +	else +		return 0;  } diff --git a/drivers/gpu/drm/amd/powerplay/inc/rv_ppsmc.h b/drivers/gpu/drm/amd/powerplay/inc/rv_ppsmc.h index 426bff2aad2b..5d07b6ea0a55 100644 --- a/drivers/gpu/drm/amd/powerplay/inc/rv_ppsmc.h +++ b/drivers/gpu/drm/amd/powerplay/inc/rv_ppsmc.h @@ -75,6 +75,7 @@  #define PPSMC_MSG_GetMinGfxclkFrequency         0x2C  #define PPSMC_MSG_GetMaxGfxclkFrequency         0x2D  #define PPSMC_MSG_SoftReset                     0x2E +#define PPSMC_MSG_SetGfxCGPG			0x2F  #define PPSMC_MSG_SetSoftMaxGfxClk              0x30  #define PPSMC_MSG_SetHardMinGfxClk              0x31  #define PPSMC_MSG_SetSoftMaxSocclkByFreq        0x32  | 

