aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
diff options
context:
space:
mode:
authorRoger He <Hongbo.He@amd.com>2017-08-15 04:05:59 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-08-17 16:47:43 -0400
commitd07f14be4d11cf323977672342fb0fc6017052f6 (patch)
tree4361547a6d52ef30c2294189e9b2d5379fce94f7 /drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
parente618d306ded38dc9d37c04dc37e24bf9d62e9c7b (diff)
drm/amd/amdgpu: expose fragment size as module parameter (v2)
Allow overrides on the command line. v2: agd: sqaush in spelling fix and bogus default value warning 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/amdgpu_vm.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c25
1 files changed, 21 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index efac05d489c9..6b1343e5541d 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@ -2413,12 +2413,26 @@ static uint32_t amdgpu_vm_get_block_size(uint64_t vm_size)
2413} 2413}
2414 2414
2415/** 2415/**
2416 * amdgpu_vm_adjust_size - adjust vm size and block size 2416 * amdgpu_vm_set_fragment_size - adjust fragment size in PTE
2417 *
2418 * @adev: amdgpu_device pointer
2419 * @fragment_size_default: the default fragment size if it's set auto
2420 */
2421void amdgpu_vm_set_fragment_size(struct amdgpu_device *adev, uint32_t fragment_size_default)
2422{
2423 if (amdgpu_vm_fragment_size == -1)
2424 adev->vm_manager.fragment_size = fragment_size_default;
2425 else
2426 adev->vm_manager.fragment_size = amdgpu_vm_fragment_size;
2427}
2428
2429/**
2430 * amdgpu_vm_adjust_size - adjust vm size, block size and fragment size
2417 * 2431 *
2418 * @adev: amdgpu_device pointer 2432 * @adev: amdgpu_device pointer
2419 * @vm_size: the default vm size if it's set auto 2433 * @vm_size: the default vm size if it's set auto
2420 */ 2434 */
2421void amdgpu_vm_adjust_size(struct amdgpu_device *adev, uint64_t vm_size) 2435void amdgpu_vm_adjust_size(struct amdgpu_device *adev, uint64_t vm_size, uint32_t fragment_size_default)
2422{ 2436{
2423 /* adjust vm size firstly */ 2437 /* adjust vm size firstly */
2424 if (amdgpu_vm_size == -1) 2438 if (amdgpu_vm_size == -1)
@@ -2433,8 +2447,11 @@ void amdgpu_vm_adjust_size(struct amdgpu_device *adev, uint64_t vm_size)
2433 else 2447 else
2434 adev->vm_manager.block_size = amdgpu_vm_block_size; 2448 adev->vm_manager.block_size = amdgpu_vm_block_size;
2435 2449
2436 DRM_INFO("vm size is %llu GB, block size is %u-bit\n", 2450 amdgpu_vm_set_fragment_size(adev, fragment_size_default);
2437 adev->vm_manager.vm_size, adev->vm_manager.block_size); 2451
2452 DRM_INFO("vm size is %llu GB, block size is %u-bit, fragment size is %u-bit\n",
2453 adev->vm_manager.vm_size, adev->vm_manager.block_size,
2454 adev->vm_manager.fragment_size);
2438} 2455}
2439 2456
2440/** 2457/**