[PATCH] drm/amdgpu: keep mmhub clock gating being enabled during s2idle suspend

Lazar, Lijo lijo.lazar at amd.com
Wed Apr 20 03:38:48 UTC 2022



On 4/20/2022 7:32 AM, Prike Liang wrote:
> Without MMHUB clock gating being enabled then MMHUB will not disconnect
> from DF and will result in DF C-state entry can't be accessed during S2idle
> suspend, and eventually s0ix entry will be blocked.
> 
> Signed-off-by: Prike Liang <Prike.Liang at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/mmhub_v2_3.c | 9 +++++++++
>   1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/mmhub_v2_3.c b/drivers/gpu/drm/amd/amdgpu/mmhub_v2_3.c
> index 1957fb098c4d..cb3dca4834b4 100644
> --- a/drivers/gpu/drm/amd/amdgpu/mmhub_v2_3.c
> +++ b/drivers/gpu/drm/amd/amdgpu/mmhub_v2_3.c
> @@ -568,6 +568,15 @@ static int mmhub_v2_3_set_clockgating(struct amdgpu_device *adev,
>   {
>   	if (amdgpu_sriov_vf(adev))
>   		return 0;
> +	/*
> +	 * The issue mmhub can't disconnect from DF with clock gating being disabled
> +	 * seems only observed at DF 3.0.3, with the same suspend sequence not seen
> +	 * any issue on the DF 3.0.2 series platform.
> +	 */
> +	if (adev->in_s0ix) {
> +		dev_dbg(adev->dev, "keep mmhub clock gating being enabled for s0ix\n");
> +		return 0;
> +	}
>   

A better fix would be to explicitly enable mmhub clockgating during s0ix 
suspend of gmc for this IP version.

Thanks,
Lijo

>   	mmhub_v2_3_update_medium_grain_clock_gating(adev,
>   				state == AMD_CG_STATE_GATE);
> 


More information about the amd-gfx mailing list