summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
diff options
context:
space:
mode:
authorZhang, Jerry2017-03-29 10:08:32 +0200
committerAlex Deucher2017-04-06 19:27:17 +0200
commit36b32a682bc32693e681cb984aac9c291a09c519 (patch)
tree4c609971abad93d1658eb3333510aefa1a4ab5a7 /drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
parentdrm/amd/amdgpu: Fix srbm_indexing in init/inactive hqd code (diff)
downloadkernel-qcow2-linux-36b32a682bc32693e681cb984aac9c291a09c519.tar.gz
kernel-qcow2-linux-36b32a682bc32693e681cb984aac9c291a09c519.tar.xz
kernel-qcow2-linux-36b32a682bc32693e681cb984aac9c291a09c519.zip
drm/amdgpu: fix vm size and block size for VMPT (v5)
Set reasonable defaults per family. v2: set both of them in gmc v3: move vm size and block size in vm manager v4: squash in warning fix from Alex Xie v5: squash in min() warning fix Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
index d9586601a437..8f18d14f8eda 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
@@ -543,7 +543,8 @@ static int gmc_v6_0_gart_enable(struct amdgpu_device *adev)
WREG32(mmVM_CONTEXT1_CNTL,
VM_CONTEXT1_CNTL__ENABLE_CONTEXT_MASK |
(1UL << VM_CONTEXT1_CNTL__PAGE_TABLE_DEPTH__SHIFT) |
- ((amdgpu_vm_block_size - 9) << VM_CONTEXT1_CNTL__PAGE_TABLE_BLOCK_SIZE__SHIFT));
+ ((adev->vm_manager.block_size - 9)
+ << VM_CONTEXT1_CNTL__PAGE_TABLE_BLOCK_SIZE__SHIFT));
if (amdgpu_vm_fault_stop == AMDGPU_VM_FAULT_STOP_ALWAYS)
gmc_v6_0_set_fault_enable_default(adev, false);
else
@@ -848,7 +849,12 @@ static int gmc_v6_0_sw_init(void *handle)
if (r)
return r;
- adev->vm_manager.max_pfn = amdgpu_vm_size << 18;
+ adev->vm_manager.vm_size = amdgpu_vm_size;
+ adev->vm_manager.block_size = amdgpu_vm_block_size;
+ adev->vm_manager.max_pfn = adev->vm_manager.vm_size << 18;
+
+ DRM_INFO("vm size is %llu GB, block size is %d-bit\n",
+ adev->vm_manager.vm_size, adev->vm_manager.block_size);
adev->mc.mc_mask = 0xffffffffffULL;