OSDN Git Service

drm/amdgpu/gfx7: LOC reduction in gfx_v7_0_setup_rb
authorTom St Denis <tom.stdenis@amd.com>
Mon, 8 Feb 2016 17:34:19 +0000 (12:34 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 12 Feb 2016 20:29:47 +0000 (15:29 -0500)
Reduce for loop with bitmask to simple complement and mask

Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c

index 5e858ca..3aaa0f9 100644 (file)
@@ -1648,7 +1648,7 @@ static void gfx_v7_0_setup_rb(struct amdgpu_device *adev,
                              u32 max_rb_num_per_se)
 {
        int i, j;
-       u32 data, mask;
+       u32 data;
        u32 disabled_rbs = 0;
        u32 enabled_rbs = 0;
 
@@ -1666,12 +1666,7 @@ static void gfx_v7_0_setup_rb(struct amdgpu_device *adev,
        gfx_v7_0_select_se_sh(adev, 0xffffffff, 0xffffffff);
        mutex_unlock(&adev->grbm_idx_mutex);
 
-       mask = 1;
-       for (i = 0; i < max_rb_num_per_se * se_num; i++) {
-               if (!(disabled_rbs & mask))
-                       enabled_rbs |= mask;
-               mask <<= 1;
-       }
+       enabled_rbs = (~disabled_rbs) & ((1UL<<(max_rb_num_per_se*se_num))-1);
 
        adev->gfx.config.backend_enable_mask = enabled_rbs;