diff options
author | Christian König <christian.koenig@amd.com> | 2018-01-22 05:19:50 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2018-02-19 14:18:30 -0500 |
commit | a3e9a15a25d5dfaacdf4d6a367eba27df83d108a (patch) | |
tree | 219edc84b828f284944f11b661cd4ec1778ff408 | |
parent | 18d09e63e09354f4ee3230ce2c9366de4e960476 (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.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 3 |
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); |