On Mon, Dec 1, 2025 at 12:04 AM Mario Limonciello (AMD) (kernel.org)
<[email protected]> wrote:
>
>
>
> On 11/29/2025 7:46 PM, Mario Limonciello (AMD) wrote:
> > Skipping power ungate exposed some scenarios that will fail
> > like below:
> >
> > ```
> > amdgpu: Register(0) [regVPEC_QUEUE_RESET_REQ] failed to reach value 
> > 0x00000000 != 0x00000001n
> > amdgpu 0000:c1:00.0: amdgpu: VPE queue reset failed
> > ...
> > amdgpu: [drm] *ERROR* wait_for_completion_timeout timeout!
> > ```
> >
> > The underlying s2idle issue that prompted this commit is going to
> > be fixed in BIOS.
> > This reverts commit 31ab31433c9bd2f255c48dc6cb9a99845c58b1e4.
> >
> > Fixes: 31ab31433c9bd ("drm/amd: Skip power ungate during suspend for VPE")
> > Cc: [email protected]
> > Signed-off-by: Mario Limonciello (AMD) <[email protected]>
>
> This was reported by a few people tangentially to me reproducing it
> myself and coming up with the revert.
>
> Here's some more tags to include with the revert.
>
> Reported-by: Konstantin <[email protected]>
> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220812
> Reported-by: Matthew Schwartz <[email protected]>

Acked-by: Alex Deucher <[email protected]>

>
> > ---
> >   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +--
> >   1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
> > b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > index 076bbc09f30ce..2819aceaab749 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > @@ -3414,11 +3414,10 @@ int amdgpu_device_set_pg_state(struct amdgpu_device 
> > *adev,
> >                   (adev->ip_blocks[i].version->type == 
> > AMD_IP_BLOCK_TYPE_GFX ||
> >                    adev->ip_blocks[i].version->type == 
> > AMD_IP_BLOCK_TYPE_SDMA))
> >                       continue;
> > -             /* skip CG for VCE/UVD/VPE, it's handled specially */
> > +             /* skip CG for VCE/UVD, it's handled specially */
> >               if (adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_UVD 
> > &&
> >                   adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_VCE 
> > &&
> >                   adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_VCN 
> > &&
> > -                 adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_VPE 
> > &&
> >                   adev->ip_blocks[i].version->type != 
> > AMD_IP_BLOCK_TYPE_JPEG &&
> >                   adev->ip_blocks[i].version->funcs->set_powergating_state) 
> > {
> >                       /* enable powergating to save power */
>

Reply via email to