Fix the vcn reset sequence in vcn_v4_0_3_ring_reset() to restore
JPEG power state and unlock the JPEG powergating mutex before
running the JPEG ring post-reset helper.

Fixes: c50beca39115 ("drm/amdgpu/vcn4.0.3: rework reset handling")

Signed-off-by: Jesse Zhang <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c 
b/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c
index dd247abce1ab..e78526a4e521 100644
--- a/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c
+++ b/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c
@@ -1742,11 +1742,11 @@ static int vcn_v4_0_3_ring_reset(struct amdgpu_ring 
*ring,
                goto unlock;
        }
 
-       r = vcn_v4_0_3_reset_jpeg_post_helper(adev, ring->me);
        if (pg_state)
                amdgpu_device_ip_set_powergating_state(adev, 
AMD_IP_BLOCK_TYPE_JPEG,
                                                       AMD_PG_STATE_GATE);
        mutex_unlock(&adev->jpeg.jpeg_pg_lock);
+       r = vcn_v4_0_3_reset_jpeg_post_helper(adev, ring->me);
 
 unlock:
        mutex_unlock(&vinst->engine_reset_mutex);
-- 
2.49.0

Reply via email to