amdgpu/vce3: Simplify idle and wait for idle code
authorTom St Denis <tom.stdenis@amd.com>
Tue, 15 Dec 2015 15:35:56 +0000 (10:35 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 4 Jan 2016 22:20:13 +0000 (17:20 -0500)
More LOC reductions in VCE3 code.  This patch simplifies the is_idle and
wait_for_idle logic.

Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
drivers/gpu/drm/amd/amdgpu/vce_v3_0.c

index 0de86dea4bfa2fb134a3f73d6000f239d307c83d..f20529d5cb84ff9ce0fd8fcccb08c16b7be27ba8 100644 (file)
@@ -535,17 +535,9 @@ static bool vce_v3_0_is_idle(void *handle)
 {
        struct amdgpu_device *adev = (struct amdgpu_device *)handle;
        u32 mask = 0;
-       int idx;
-
-       for (idx = 0; idx < 2; ++idx) {
-               if (adev->vce.harvest_config & (1 << idx))
-                       continue;
 
-               if (idx == 0)
-                       mask |= SRBM_STATUS2__VCE0_BUSY_MASK;
-               else
-                       mask |= SRBM_STATUS2__VCE1_BUSY_MASK;
-       }
+       mask |= (adev->vce.harvest_config & (1<<0)) ? 0 : SRBM_STATUS2__VCE0_BUSY_MASK;
+       mask |= (adev->vce.harvest_config & (1<<1)) ? 0 : SRBM_STATUS2__VCE1_BUSY_MASK;
 
        return !(RREG32(mmSRBM_STATUS2) & mask);
 }
@@ -554,23 +546,11 @@ static int vce_v3_0_wait_for_idle(void *handle)
 {
        unsigned i;
        struct amdgpu_device *adev = (struct amdgpu_device *)handle;
-       u32 mask = 0;
-       int idx;
 
-       for (idx = 0; idx < 2; ++idx) {
-               if (adev->vce.harvest_config & (1 << idx))
-                       continue;
-
-               if (idx == 0)
-                       mask |= SRBM_STATUS2__VCE0_BUSY_MASK;
-               else
-                       mask |= SRBM_STATUS2__VCE1_BUSY_MASK;
-       }
-
-       for (i = 0; i < adev->usec_timeout; i++) {
-               if (!(RREG32(mmSRBM_STATUS2) & mask))
+       for (i = 0; i < adev->usec_timeout; i++)
+               if (vce_v3_0_is_idle(handle))
                        return 0;
-       }
+
        return -ETIMEDOUT;
 }