[PATCH] drm/amdgpu: update vcn1.0 Non-DPG suspend sequence

Leo Liu leo.liu at amd.com
Wed May 5 19:59:04 UTC 2021


Reviewed-by: Leo Liu <leo.liu at amd.com>


On 2021-05-04 11:10 a.m., Sathishkumar S wrote:
> update suspend register settings in Non-DPG mode.
>
> Signed-off-by: Sathishkumar S <sathishkumar.sundararaju at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 13 +++++++++----
>   1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
> index 51a773a37a35..0c1beefa3e49 100644
> --- a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
> @@ -1119,10 +1119,10 @@ static int vcn_v1_0_stop_spg_mode(struct amdgpu_device *adev)
>   		UVD_LMI_STATUS__WRITE_CLEAN_RAW_MASK;
>   	SOC15_WAIT_ON_RREG(UVD, 0, mmUVD_LMI_STATUS, tmp, tmp);
>   
> -	/* put VCPU into reset */
> -	WREG32_P(SOC15_REG_OFFSET(UVD, 0, mmUVD_SOFT_RESET),
> -		UVD_SOFT_RESET__VCPU_SOFT_RESET_MASK,
> -		~UVD_SOFT_RESET__VCPU_SOFT_RESET_MASK);
> +	/* stall UMC channel */
> +	WREG32_P(SOC15_REG_OFFSET(UVD, 0, mmUVD_LMI_CTRL2),
> +		UVD_LMI_CTRL2__STALL_ARB_UMC_MASK,
> +		~UVD_LMI_CTRL2__STALL_ARB_UMC_MASK);
>   
>   	tmp = UVD_LMI_STATUS__UMC_READ_CLEAN_RAW_MASK |
>   		UVD_LMI_STATUS__UMC_WRITE_CLEAN_RAW_MASK;
> @@ -1141,6 +1141,11 @@ static int vcn_v1_0_stop_spg_mode(struct amdgpu_device *adev)
>   		UVD_SOFT_RESET__LMI_SOFT_RESET_MASK,
>   		~UVD_SOFT_RESET__LMI_SOFT_RESET_MASK);
>   
> +	/* put VCPU into reset */
> +	WREG32_P(SOC15_REG_OFFSET(UVD, 0, mmUVD_SOFT_RESET),
> +		UVD_SOFT_RESET__VCPU_SOFT_RESET_MASK,
> +		~UVD_SOFT_RESET__VCPU_SOFT_RESET_MASK);
> +
>   	WREG32_SOC15(UVD, 0, mmUVD_STATUS, 0);
>   
>   	vcn_v1_0_enable_clock_gating(adev);


More information about the amd-gfx mailing list