From: Philip Yang <[email protected]>

The gmc fault virtual address is up to 57bit for 5 level page table,
this also works with 48bit virtual address for 4 level page table.

Signed-off-by: Philip Yang <[email protected]>
Acked-by: Felix Kuehling <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c 
b/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c
index 19cd38ce57c94..28b3732df016a 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c
@@ -117,7 +117,7 @@ static int gmc_v12_1_process_interrupt(struct amdgpu_device 
*adev,
        node_id = entry->node_id;
 
        addr = (u64)entry->src_data[0] << 12;
-       addr |= ((u64)entry->src_data[1] & 0xf) << 44;
+       addr |= ((u64)entry->src_data[1] & 0x1fff) << 44;
 
        if (entry->src_id == UTCL2_1_0__SRCID__RETRY) {
                retry_fault = true;
-- 
2.52.0

Reply via email to