drm/amdgpu: Apply sign extension to seq64
authorArunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Thu, 12 Dec 2024 14:06:16 +0000 (19:36 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 8 Apr 2025 20:48:20 +0000 (16:48 -0400)
Apply sign extension to seq64 va address.

Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c

index 898d215a8d995c0d897072ec4d1d010b21198966..2de1a844282ecd58f223eef02e929d70ac725ff1 100644 (file)
  */
 static inline u64 amdgpu_seq64_get_va_base(struct amdgpu_device *adev)
 {
-       return AMDGPU_VA_RESERVED_SEQ64_START(adev);
+       u64 addr = AMDGPU_VA_RESERVED_SEQ64_START(adev);
+
+       addr = amdgpu_gmc_sign_extend(addr);
+
+       return addr;
 }
 
 /**
@@ -88,7 +92,7 @@ int amdgpu_seq64_map(struct amdgpu_device *adev, struct amdgpu_vm *vm,
                goto error;
        }
 
-       seq64_addr = amdgpu_seq64_get_va_base(adev);
+       seq64_addr = amdgpu_seq64_get_va_base(adev) & AMDGPU_GMC_HOLE_MASK;
        r = amdgpu_vm_bo_map(adev, *bo_va, seq64_addr, 0, AMDGPU_VA_RESERVED_SEQ64_SIZE,
                             AMDGPU_PTE_READABLE);
        if (r) {