Skip to content

Commit

Permalink
drm/amdgpu: always flush the TLB on gfx8
Browse files Browse the repository at this point in the history
The TLB on GFX8 stores each block of 8 PTEs where any of the valid bits
are set.

Fixes: 5255e14 ("drm/amdgpu: rework TLB flushing")
Reviewed-by: Alex Deucher <[email protected]>
Tested-by: Michal Kubecek <[email protected]>
Signed-off-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
  • Loading branch information
ChristianKoenigAMD authored and alexdeucher committed Jun 8, 2022
1 parent 1d2afeb commit 84205d0
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
Original file line number Diff line number Diff line change
Expand Up @@ -793,6 +793,11 @@ int amdgpu_vm_update_range(struct amdgpu_device *adev, struct amdgpu_vm *vm,
flush_tlb |= adev->gmc.xgmi.num_physical_nodes &&
adev->ip_versions[GC_HWIP][0] == IP_VERSION(9, 4, 0);

/*
* On GFX8 and older any 8 PTE block with a valid bit set enters the TLB
*/
flush_tlb |= adev->ip_versions[GC_HWIP][0] < IP_VERSION(9, 0, 0);

memset(&params, 0, sizeof(params));
params.adev = adev;
params.vm = vm;
Expand Down

0 comments on commit 84205d0

Please sign in to comment.