[PATCH] drm/amdgpu/vcn: fix vcn ring test failure in igt reload test

Paul Menzel pmenzel at molgen.mpg.de
Tue Mar 15 09:25:26 UTC 2022


Dear Tianci,


Am 15.03.22 um 03:33 schrieb Tianci Yin:
> From: "Tianci.Yin" <tianci.yin at amd.com>

Please remove the dot/period in the name. (`git config --global 
user.name "Tianci Yin"`.

> [why]
> On Renoir, vcn ring test failed on the second time insmod in the reload
> test.

Does Linux log a warning/error? Please paste it.

> After invetigation, it proves that vcn only can disable dpg under

investigation

> dpg unpause mode (dpg unpause mode is default for dec only, dpg pause
> mode is for dec/enc).

Is that documented in a datasheet? Please mention name, revision, and 
section.

Why is this only needed for VCN v2.0 and not the other implementations?

> [how]
> unpause dpg in dpg stopping procedure.
> 
> Change-Id: If6ec3af694e1d6b63ebce386a563f03ca6d291c1

Remove?

> Signed-off-by: Tianci.Yin <tianci.yin at amd.com>

Ditto.

How did you test this exactly? Did you turn on DRM debug messages to 
verify that the function was called?

> ---
>   drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c b/drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c
> index 319ac8ea434b..6e0972cd1f2f 100644
> --- a/drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c
> @@ -1098,8 +1098,10 @@ static int vcn_v2_0_start(struct amdgpu_device *adev)
>   
>   static int vcn_v2_0_stop_dpg_mode(struct amdgpu_device *adev)
>   {
> +	struct dpg_pause_state state = {.fw_based = VCN_DPG_STATE__UNPAUSE};
>   	uint32_t tmp;
>   
> +	vcn_v2_0_pause_dpg_mode(adev, 0, &state);
>   	/* Wait for power status to be 1 */
>   	SOC15_WAIT_ON_RREG(UVD, 0, mmUVD_POWER_STATUS, 1,
>   		UVD_POWER_STATUS__UVD_POWER_STATUS_MASK);


Kind regards,

Paul


More information about the amd-gfx mailing list