From: Mukul Joshi <[email protected]>

Remote TLB shootdown is not working currently and hangs the driver.
As a result, temporarily prevent sending the Remote TLB shootdown
messages to remote GPUs for now.
Additionally, also temporarily set PTE.X = 0 for imported memory.

Signed-off-by: Mukul Joshi <[email protected]>
Reviewed-by: Felix Kuehling <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ualink.c | 4 ++++
 drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c     | 1 +
 2 files changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ualink.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ualink.c
index 4e49ff0be6e35..8d767a91172ca 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ualink.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ualink.c
@@ -5032,6 +5032,10 @@ static int amdgpu_ualink_remote_shootdown(struct 
amdgpu_device *adev,
        struct amdgpu_ualink_ring *ring;
        int r;
 
+       dev_dbg(adev->dev, "skip remote shootdown to remote_accel_id %u\n",
+               remote_accel_id);
+       return 0;
+
        peer = &remote->peer[remote_accel_id];
        ring = &peer->shootdown;
        if (!ring->ready) {
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c 
b/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c
index 1468047687652..34d5767287d78 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c
@@ -613,6 +613,7 @@ static void gmc_v12_1_get_npa_flags(struct amdgpu_device 
*adev,
        *flags |= AMDGPU_PTE_SNOOPED | AMDGPU_PTE_PRT_GFX12 |
                   AMDGPU_PTE_BUS_ATOMICS;
        *flags &= ~AMDGPU_PTE_VALID;
+       *flags &= ~AMDGPU_PTE_EXECUTABLE;
 }
 
 static void gmc_v12_1_get_coherence_flags(struct amdgpu_device *adev,
-- 
2.55.0

Reply via email to