Skip to contentSkip to conversation

Revert "drm/amd: Skip power ungate during suspend for VPE"

PATCH In review Mario Limonciello (AMD) 2 participants 3 messages Nov 30, 2025 – Dec 1, 2025

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Revert "drm/amd: Skip power ungate during suspend for VPE"

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")
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +1 -2
index 076bbc09f30ce..2819aceaab749 100644
@@ -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 */
Signature · 1 line
2.43.0
#1 lore raw
Quoted 10 lines · Mario Limonciello (AMD)

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!
```
Quoted 7 lines

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")

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.

Quoted 21 lines
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +--
  1 file changed, 1 insertion(+), 2 deletions(-)
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +1 -2
index 076bbc09f30ce..2819aceaab749 100644
@@ -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 */
Acked-by
#2 lore raw
Quoted 22 lines · Mario Limonciello (AMD) (kernel.org)
Quoted 10 lines · Mario Limonciello (AMD)

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!
```
Quoted 7 lines

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")
Quoted 8 lines

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.

Quoted 23 lines
Quoted 22 lines
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +--
  1 file changed, 1 insertion(+), 2 deletions(-)
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +1 -2
index 076bbc09f30ce..2819aceaab749 100644
@@ -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 */