Revert "drm/amd: Skip power ungate during suspend for VPE"
Subsystems (3)
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.
--- 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
@@ -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
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 commit31ab31433c9bd2f255c48dc6cb9a99845c58b1e4.Fixes 31ab31433c9bd ("drm/amd: Skip power ungate during suspend for VPE")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.
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@@ -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 */
Alex Deucher
Acked-byQuoted 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 commit31ab31433c9bd2f255c48dc6cb9a99845c58b1e4.Fixes 31ab31433c9bd ("drm/amd: Skip power ungate during suspend for VPE")Signed-off-by Mario Limonciello (AMD) <[email protected]>
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.
Reported-by Konstantin <[email protected]>Reported-by Matthew Schwartz <[email protected]>
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@@ -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 */