diff options
author | Roger He <Hongbo.He@amd.com> | 2017-08-11 20:00:41 +0800 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-08-17 15:46:08 -0400 |
commit | e618d306ded38dc9d37c04dc37e24bf9d62e9c7b (patch) | |
tree | 9373307774e178887e6723a13ecc0c1e9ac8b705 /drivers/gpu/drm/amd/amdgpu/gmc_v9_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/gmc_v9_0.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c index c22899a08106..f721b4f4373e 100644 --- a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c @@ -541,10 +541,12 @@ static int gmc_v9_0_sw_init(void *handle) adev->vm_manager.vm_size = 1U << 18; adev->vm_manager.block_size = 9; adev->vm_manager.num_level = 3; + adev->vm_manager.fragment_size = 9; } else { /* vm_size is 64GB for legacy 2-level page support*/ amdgpu_vm_adjust_size(adev, 64); adev->vm_manager.num_level = 1; + adev->vm_manager.fragment_size = 9; } break; case CHIP_VEGA10: @@ -558,14 +560,16 @@ static int gmc_v9_0_sw_init(void *handle) adev->vm_manager.vm_size = 1U << 18; adev->vm_manager.block_size = 9; adev->vm_manager.num_level = 3; + adev->vm_manager.fragment_size = 9; break; default: break; } - DRM_INFO("vm size is %llu GB, block size is %u-bit\n", + DRM_INFO("vm size is %llu GB, block size is %u-bit,fragment size is %u-bit\n", adev->vm_manager.vm_size, - adev->vm_manager.block_size); + adev->vm_manager.block_size, + adev->vm_manager.fragment_size); /* This interrupt is VMC page fault.*/ r = amdgpu_irq_add_id(adev, AMDGPU_IH_CLIENTID_VMC, 0, |