aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c
diff options
context:
space:
mode:
authorArunpravin Paneer Selvam <[email protected]>2024-12-12 14:06:16 +0000
committerAlex Deucher <[email protected]>2025-04-08 20:48:20 +0000
commit02521454f0552e289e6d95a2b55c8395285b0e01 (patch)
tree08458057c90482efcdb1d51b772ebb2407b9d000 /drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c
parentdrm/amdgpu: Modify the MES process va end limit (diff)
downloadkernel-02521454f0552e289e6d95a2b55c8395285b0e01.tar.gz
kernel-02521454f0552e289e6d95a2b55c8395285b0e01.zip
drm/amdgpu: Apply sign extension to seq64
Apply sign extension to seq64 va address. Signed-off-by: Arunpravin Paneer Selvam <[email protected]> Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c
index 898d215a8d99..2de1a844282e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c
@@ -45,7 +45,11 @@
*/
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) {