diff options
| author | Jinzhou Su <Jinzhou.Su@amd.com> | 2021-02-02 19:58:17 +0800 | 
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2021-02-02 12:12:45 -0500 | 
| commit | bb377febb10f8f4741ac1a490c578a711a03f244 (patch) | |
| tree | 686899216e3baff901914a261f96bb0ea311c9f7 | |
| parent | f1e17351984c9876e59eab6ea102d8d3cea3651b (diff) | |
drm/amd/pm: Disable GFXOFF when GFX DPM or PG disabled
Check GFX DPM and PG bit before enable GFXOFF on Vangogh
smu post init.
Signed-off-by: Jinzhou Su <Jinzhou.Su@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| -rw-r--r-- | drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c | 14 | 
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c index 4726cac8d824..f0f06ef47b9e 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c +++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c @@ -1712,10 +1712,16 @@ static int vangogh_post_smu_init(struct smu_context *smu)  		adev->gfx.config.max_sh_per_se * adev->gfx.config.max_shader_engines;  	/* allow message will be sent after enable message on Vangogh*/ -	ret = smu_cmn_send_smc_msg(smu, SMU_MSG_EnableGfxOff, NULL); -	if (ret) { -		dev_err(adev->dev, "Failed to Enable GfxOff!\n"); -		return ret; +	if (smu_cmn_feature_is_supported(smu, SMU_FEATURE_DPM_GFXCLK_BIT) && +			(adev->pg_flags & AMD_PG_SUPPORT_GFX_PG)) { +		ret = smu_cmn_send_smc_msg(smu, SMU_MSG_EnableGfxOff, NULL); +		if (ret) { +			dev_err(adev->dev, "Failed to Enable GfxOff!\n"); +			return ret; +		} +	} else { +		adev->pm.pp_feature &= ~PP_GFXOFF_MASK; +		dev_info(adev->dev, "If GFX DPM or power gate disabled, disable GFXOFF\n");  	}  	/* if all CUs are active, no need to power off any WGPs */  | 
