summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorPhilip Yang <Philip.Yang@amd.com>2026-01-27 21:52:33 +0300
committerSasha Levin <sashal@kernel.org>2026-03-04 15:21:35 +0300
commite4591b9d13c23cd7cc8704acd4dc7fe992862087 (patch)
tree98605a4ce0e734e7674e70407037535d0c989415 /drivers/gpu
parent40cd2f41a8ceb8b18de587d354dd806961cd922d (diff)
downloadlinux-e4591b9d13c23cd7cc8704acd4dc7fe992862087.tar.xz
drm/amdgpu: Use 5-level paging if gmc support 57-bit VA
[ Upstream commit 3b948dd0366a0b64c02e4ed1aefdf7825942e803 ] Regardless if CPU enable 5-level paging, GPU vm use 5-level paging if gmc init with 57-bit address space support, because ARM64 4-level paging support 48-bit VA, x86 and GPU 4-level paging support 47-bit VA, require 5-level paging on GPU to support ARM64. NPA address space 52-bit mapping on NPA GPU VM require 5-level paging. Debugger trap get device snapshot expect LDS and Scratch base, limit above 57-bit, which is set only for 5-level paging. Signed-off-by: Philip Yang <Philip.Yang@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org # 6.19.x Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c17
1 files changed, 0 insertions, 17 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index 4d329454456b..bd7f83efed18 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@ -2360,26 +2360,9 @@ void amdgpu_vm_adjust_size(struct amdgpu_device *adev, uint32_t min_vm_size,
unsigned max_bits)
{
unsigned int max_size = 1 << (max_bits - 30);
- bool sys_5level_pgtable = false;
unsigned int vm_size;
uint64_t tmp;
-#ifdef CONFIG_X86_64
- /*
- * Refer to function configure_5level_paging() for details.
- */
- sys_5level_pgtable = (native_read_cr4() & X86_CR4_LA57);
-#endif
-
- /*
- * If GPU supports 5-level page table, but system uses 4-level page table,
- * then use 4-level page table on GPU
- */
- if (max_level == 4 && !sys_5level_pgtable) {
- min_vm_size = 256 * 1024;
- max_level = 3;
- }
-
/* adjust vm size first */
if (amdgpu_vm_size != -1) {
vm_size = amdgpu_vm_size;