Blob Blame History Raw
From 5cb0e3fb2c54eabfb3f932a1574bff1774946bc0 Mon Sep 17 00:00:00 2001
From: Ruili Ji <ruiliji2@amd.com>
Date: Wed, 22 Jun 2022 14:20:22 +0800
Subject: [PATCH] drm/amdgpu: To flush tlb for MMHUB of RAVEN series
Git-commit: 5cb0e3fb2c54eabfb3f932a1574bff1774946bc0
Patch-mainline: v5.19-rc5
References: git-fixes

Amdgpu: [mmhub0] no-retry page fault (src_id:0 ring:40 vmid:8 pasid:32769, for process test_basic pid 3305 thread test_basic pid 3305)
Amdgpu: in page starting at address 0x00007ff990003000 from IH client 0x12 (VMC)
Amdgpu: VM_L2_PROTECTION_FAULT_STATUS:0x00840051
Amdgpu: Faulty UTCL2 client ID: MP1 (0x0)
Amdgpu: MORE_FAULTS: 0x1
Amdgpu: WALKER_ERROR: 0x0
Amdgpu: PERMISSION_FAULTS: 0x5
Amdgpu: MAPPING_ERROR: 0x0
Amdgpu: RW: 0x1

When memory is allocated by kfd, no one triggers the tlb flush for MMHUB0.
There is page fault from MMHUB0.

v2:fix indentation
v3:change subject and fix indentation

Signed-off-by: Ruili Ji <ruiliji2@amd.com>
Reviewed-by: Philip Yang <philip.yang@amd.com>
Reviewed-by: Aaron Liu <aaron.liu@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Acked-by: Takashi Iwai <tiwai@suse.de>

---
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
@@ -678,7 +678,8 @@ int amdgpu_amdkfd_flush_gpu_tlb_pasid(st
 	struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
 	bool all_hub = false;
 
-	if (adev->family == AMDGPU_FAMILY_AI)
+	if (adev->family == AMDGPU_FAMILY_AI ||
+	    adev->family == AMDGPU_FAMILY_RV)
 		all_hub = true;
 
 	return amdgpu_gmc_flush_gpu_tlb_pasid(adev, pasid, flush_type, all_hub);