Simplify the idle check by looking at the done bit directly instead of clearing the assumed idle status if not done.
Signed-off-by: Tvrtko Ursulin <[email protected]> --- drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c b/drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c index d1a011c40ba2..e1b579451982 100644 --- a/drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c +++ b/drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c @@ -476,13 +476,10 @@ static void jpeg_v3_0_dec_ring_set_wptr(struct amdgpu_ring *ring) static bool jpeg_v3_0_is_idle(struct amdgpu_ip_block *ip_block) { struct amdgpu_device *adev = ip_block->adev; - int ret = 1; - ret &= (((RREG32_SOC15(JPEG, 0, mmUVD_JRBC_STATUS) & + return (RREG32_SOC15(JPEG, 0, mmUVD_JRBC_STATUS) & UVD_JRBC_STATUS__RB_JOB_DONE_MASK) == - UVD_JRBC_STATUS__RB_JOB_DONE_MASK)); - - return ret; + UVD_JRBC_STATUS__RB_JOB_DONE_MASK; } static int jpeg_v3_0_wait_for_idle(struct amdgpu_ip_block *ip_block) -- 2.48.0
