diff options
author | Tom St Denis <tom.stdenis@amd.com> | 2017-06-12 08:45:02 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-06-15 11:50:26 -0400 |
commit | e5475e16eb37e86632cf6f3bb5102ed5aec2c16e (patch) | |
tree | 53f53bdea06721372b5c15564e37971f524717be /drivers/gpu | |
parent | 948edf095158db8d51db25527d8ff21cdff7eb35 (diff) |
drm/amd/amdgpu: gfx9 tidy ups (v2)
A couple of simple tidy ups to register programming.
Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
(v2): Avoid using 'data' uninitialized
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c index c1e9756dd975..e99df6296611 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | |||
@@ -635,7 +635,7 @@ static void gfx_v9_0_get_csb_buffer(struct amdgpu_device *adev, | |||
635 | 635 | ||
636 | static void gfx_v9_0_init_lbpw(struct amdgpu_device *adev) | 636 | static void gfx_v9_0_init_lbpw(struct amdgpu_device *adev) |
637 | { | 637 | { |
638 | uint32_t data = 0; | 638 | uint32_t data; |
639 | 639 | ||
640 | /* set mmRLC_LB_THR_CONFIG_1/2/3/4 */ | 640 | /* set mmRLC_LB_THR_CONFIG_1/2/3/4 */ |
641 | WREG32_SOC15(GC, 0, mmRLC_LB_THR_CONFIG_1, 0x0000007F); | 641 | WREG32_SOC15(GC, 0, mmRLC_LB_THR_CONFIG_1, 0x0000007F); |
@@ -655,12 +655,9 @@ static void gfx_v9_0_init_lbpw(struct amdgpu_device *adev) | |||
655 | WREG32_SOC15(GC, 0, mmRLC_LB_INIT_CU_MASK, 0xffffffff); | 655 | WREG32_SOC15(GC, 0, mmRLC_LB_INIT_CU_MASK, 0xffffffff); |
656 | 656 | ||
657 | /* set mmRLC_LB_PARAMS = 0x003F_1006 */ | 657 | /* set mmRLC_LB_PARAMS = 0x003F_1006 */ |
658 | data |= (0x0003 << RLC_LB_PARAMS__FIFO_SAMPLES__SHIFT) & | 658 | data = REG_SET_FIELD(0, RLC_LB_PARAMS, FIFO_SAMPLES, 0x0003); |
659 | RLC_LB_PARAMS__FIFO_SAMPLES_MASK; | 659 | data |= REG_SET_FIELD(data, RLC_LB_PARAMS, PG_IDLE_SAMPLES, 0x0010); |
660 | data |= (0x0010 << RLC_LB_PARAMS__PG_IDLE_SAMPLES__SHIFT) & | 660 | data |= REG_SET_FIELD(data, RLC_LB_PARAMS, PG_IDLE_SAMPLE_INTERVAL, 0x033F); |
661 | RLC_LB_PARAMS__PG_IDLE_SAMPLES_MASK; | ||
662 | data |= (0x033F << RLC_LB_PARAMS__PG_IDLE_SAMPLE_INTERVAL__SHIFT) & | ||
663 | RLC_LB_PARAMS__PG_IDLE_SAMPLE_INTERVAL_MASK; | ||
664 | WREG32_SOC15(GC, 0, mmRLC_LB_PARAMS, data); | 661 | WREG32_SOC15(GC, 0, mmRLC_LB_PARAMS, data); |
665 | 662 | ||
666 | /* set mmRLC_GPM_GENERAL_7[31-16] = 0x00C0 */ | 663 | /* set mmRLC_GPM_GENERAL_7[31-16] = 0x00C0 */ |
@@ -675,24 +672,15 @@ static void gfx_v9_0_init_lbpw(struct amdgpu_device *adev) | |||
675 | /* set RLC_LB_CNTL = 0x8000_0095, 31 bit is reserved, | 672 | /* set RLC_LB_CNTL = 0x8000_0095, 31 bit is reserved, |
676 | * but used for RLC_LB_CNTL configuration */ | 673 | * but used for RLC_LB_CNTL configuration */ |
677 | data = RLC_LB_CNTL__LB_CNT_SPIM_ACTIVE_MASK; | 674 | data = RLC_LB_CNTL__LB_CNT_SPIM_ACTIVE_MASK; |
678 | data |= (0x09 << RLC_LB_CNTL__CU_MASK_USED_OFF_HYST__SHIFT) & | 675 | data |= REG_SET_FIELD(data, RLC_LB_CNTL, CU_MASK_USED_OFF_HYST, 0x09); |
679 | RLC_LB_CNTL__CU_MASK_USED_OFF_HYST_MASK; | 676 | data |= REG_SET_FIELD(data, RLC_LB_CNTL, RESERVED, 0x80000); |
680 | data |= (0x80000 << RLC_LB_CNTL__RESERVED__SHIFT) & | ||
681 | RLC_LB_CNTL__RESERVED_MASK; | ||
682 | WREG32_SOC15(GC, 0, mmRLC_LB_CNTL, data); | 677 | WREG32_SOC15(GC, 0, mmRLC_LB_CNTL, data); |
683 | mutex_unlock(&adev->grbm_idx_mutex); | 678 | mutex_unlock(&adev->grbm_idx_mutex); |
684 | } | 679 | } |
685 | 680 | ||
686 | static void gfx_v9_0_enable_lbpw(struct amdgpu_device *adev, bool enable) | 681 | static void gfx_v9_0_enable_lbpw(struct amdgpu_device *adev, bool enable) |
687 | { | 682 | { |
688 | uint32_t data = 0; | 683 | WREG32_FIELD15(GC, 0, RLC_LB_CNTL, LOAD_BALANCE_ENABLE, enable ? 1 : 0); |
689 | |||
690 | data = RREG32_SOC15(GC, 0, mmRLC_LB_CNTL); | ||
691 | if (enable) | ||
692 | data |= RLC_LB_CNTL__LOAD_BALANCE_ENABLE_MASK; | ||
693 | else | ||
694 | data &= ~RLC_LB_CNTL__LOAD_BALANCE_ENABLE_MASK; | ||
695 | WREG32_SOC15(GC, 0, mmRLC_LB_CNTL, data); | ||
696 | } | 684 | } |
697 | 685 | ||
698 | static void rv_init_cp_jump_table(struct amdgpu_device *adev) | 686 | static void rv_init_cp_jump_table(struct amdgpu_device *adev) |