aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2018-01-22 05:19:50 -0500
committerAlex Deucher <alexander.deucher@amd.com>2018-02-19 14:18:30 -0500
commita3e9a15a25d5dfaacdf4d6a367eba27df83d108a (patch)
tree219edc84b828f284944f11b661cd4ec1778ff408
parent18d09e63e09354f4ee3230ce2c9366de4e960476 (diff)
drm/amdgpu: apply top reserved VA space to pre Vega10 as well
Reserve VA space at the top for older generations as well. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Monk Liu <monk.liu@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c2
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c3
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c3
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c3
4 files changed, 7 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
index a99aff747cc2..f828096114c3 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
@@ -580,11 +580,11 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file
580 dev_info.ids_flags |= AMDGPU_IDS_FLAGS_PREEMPTION; 580 dev_info.ids_flags |= AMDGPU_IDS_FLAGS_PREEMPTION;
581 581
582 vm_size = adev->vm_manager.max_pfn * AMDGPU_GPU_PAGE_SIZE; 582 vm_size = adev->vm_manager.max_pfn * AMDGPU_GPU_PAGE_SIZE;
583 vm_size -= AMDGPU_VA_RESERVED_SIZE;
583 dev_info.virtual_address_offset = AMDGPU_VA_RESERVED_SIZE; 584 dev_info.virtual_address_offset = AMDGPU_VA_RESERVED_SIZE;
584 dev_info.virtual_address_max = 585 dev_info.virtual_address_max =
585 min(vm_size, AMDGPU_VA_HOLE_START); 586 min(vm_size, AMDGPU_VA_HOLE_START);
586 587
587 vm_size -= AMDGPU_VA_RESERVED_SIZE;
588 if (vm_size > AMDGPU_VA_HOLE_START) { 588 if (vm_size > AMDGPU_VA_HOLE_START) {
589 dev_info.high_va_offset = AMDGPU_VA_HOLE_END; 589 dev_info.high_va_offset = AMDGPU_VA_HOLE_END;
590 dev_info.high_va_max = AMDGPU_VA_HOLE_END | vm_size; 590 dev_info.high_va_max = AMDGPU_VA_HOLE_END | vm_size;
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
index b99c5cfc0564..1945fe842188 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
@@ -469,7 +469,8 @@ static void gmc_v6_0_set_prt(struct amdgpu_device *adev, bool enable)
469 469
470 if (enable) { 470 if (enable) {
471 uint32_t low = AMDGPU_VA_RESERVED_SIZE >> AMDGPU_GPU_PAGE_SHIFT; 471 uint32_t low = AMDGPU_VA_RESERVED_SIZE >> AMDGPU_GPU_PAGE_SHIFT;
472 uint32_t high = adev->vm_manager.max_pfn; 472 uint32_t high = adev->vm_manager.max_pfn -
473 (AMDGPU_VA_RESERVED_SIZE >> AMDGPU_GPU_PAGE_SHIFT);
473 474
474 WREG32(mmVM_PRT_APERTURE0_LOW_ADDR, low); 475 WREG32(mmVM_PRT_APERTURE0_LOW_ADDR, low);
475 WREG32(mmVM_PRT_APERTURE1_LOW_ADDR, low); 476 WREG32(mmVM_PRT_APERTURE1_LOW_ADDR, low);
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
index 1137f395ed66..761def04f93f 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
@@ -562,7 +562,8 @@ static void gmc_v7_0_set_prt(struct amdgpu_device *adev, bool enable)
562 562
563 if (enable) { 563 if (enable) {
564 uint32_t low = AMDGPU_VA_RESERVED_SIZE >> AMDGPU_GPU_PAGE_SHIFT; 564 uint32_t low = AMDGPU_VA_RESERVED_SIZE >> AMDGPU_GPU_PAGE_SHIFT;
565 uint32_t high = adev->vm_manager.max_pfn; 565 uint32_t high = adev->vm_manager.max_pfn -
566 (AMDGPU_VA_RESERVED_SIZE >> AMDGPU_GPU_PAGE_SHIFT);
566 567
567 WREG32(mmVM_PRT_APERTURE0_LOW_ADDR, low); 568 WREG32(mmVM_PRT_APERTURE0_LOW_ADDR, low);
568 WREG32(mmVM_PRT_APERTURE1_LOW_ADDR, low); 569 WREG32(mmVM_PRT_APERTURE1_LOW_ADDR, low);
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
index ce1819612d63..2489be7ad62b 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
@@ -762,7 +762,8 @@ static void gmc_v8_0_set_prt(struct amdgpu_device *adev, bool enable)
762 762
763 if (enable) { 763 if (enable) {
764 uint32_t low = AMDGPU_VA_RESERVED_SIZE >> AMDGPU_GPU_PAGE_SHIFT; 764 uint32_t low = AMDGPU_VA_RESERVED_SIZE >> AMDGPU_GPU_PAGE_SHIFT;
765 uint32_t high = adev->vm_manager.max_pfn; 765 uint32_t high = adev->vm_manager.max_pfn -
766 (AMDGPU_VA_RESERVED_SIZE >> AMDGPU_GPU_PAGE_SHIFT);
766 767
767 WREG32(mmVM_PRT_APERTURE0_LOW_ADDR, low); 768 WREG32(mmVM_PRT_APERTURE0_LOW_ADDR, low);
768 WREG32(mmVM_PRT_APERTURE1_LOW_ADDR, low); 769 WREG32(mmVM_PRT_APERTURE1_LOW_ADDR, low);