diff options
author | Roger He <Hongbo.He@amd.com> | 2017-08-11 08:00:41 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-08-17 15:46:08 -0400 |
commit | e618d306ded38dc9d37c04dc37e24bf9d62e9c7b (patch) | |
tree | 9373307774e178887e6723a13ecc0c1e9ac8b705 /drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c | |
parent | 27c7b9aeecd7c06a3b527795807c19a0bbe25c1e (diff) |
drm/amd/amdgpu: store fragment_size in vm_manager
adds fragment_size in the vm_manager structure and
implements hardware setup for it.
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Roger He <Hongbo.He@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c b/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c index 74cb647da30e..4395a4f12149 100644 --- a/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c +++ b/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c | |||
@@ -138,7 +138,7 @@ static void mmhub_v1_0_init_tlb_regs(struct amdgpu_device *adev) | |||
138 | 138 | ||
139 | static void mmhub_v1_0_init_cache_regs(struct amdgpu_device *adev) | 139 | static void mmhub_v1_0_init_cache_regs(struct amdgpu_device *adev) |
140 | { | 140 | { |
141 | uint32_t tmp; | 141 | uint32_t tmp, field; |
142 | 142 | ||
143 | /* Setup L2 cache */ | 143 | /* Setup L2 cache */ |
144 | tmp = RREG32_SOC15(MMHUB, 0, mmVM_L2_CNTL); | 144 | tmp = RREG32_SOC15(MMHUB, 0, mmVM_L2_CNTL); |
@@ -157,8 +157,9 @@ static void mmhub_v1_0_init_cache_regs(struct amdgpu_device *adev) | |||
157 | tmp = REG_SET_FIELD(tmp, VM_L2_CNTL2, INVALIDATE_L2_CACHE, 1); | 157 | tmp = REG_SET_FIELD(tmp, VM_L2_CNTL2, INVALIDATE_L2_CACHE, 1); |
158 | WREG32_SOC15(MMHUB, 0, mmVM_L2_CNTL2, tmp); | 158 | WREG32_SOC15(MMHUB, 0, mmVM_L2_CNTL2, tmp); |
159 | 159 | ||
160 | field = adev->vm_manager.fragment_size; | ||
160 | tmp = mmVM_L2_CNTL3_DEFAULT; | 161 | tmp = mmVM_L2_CNTL3_DEFAULT; |
161 | tmp = REG_SET_FIELD(tmp, VM_L2_CNTL3, BANK_SELECT, 9); | 162 | tmp = REG_SET_FIELD(tmp, VM_L2_CNTL3, BANK_SELECT, field); |
162 | tmp = REG_SET_FIELD(tmp, VM_L2_CNTL3, L2_CACHE_BIGK_FRAGMENT_SIZE, 6); | 163 | tmp = REG_SET_FIELD(tmp, VM_L2_CNTL3, L2_CACHE_BIGK_FRAGMENT_SIZE, 6); |
163 | WREG32_SOC15(MMHUB, 0, mmVM_L2_CNTL3, tmp); | 164 | WREG32_SOC15(MMHUB, 0, mmVM_L2_CNTL3, tmp); |
164 | 165 | ||