aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1771-drm-amdgpu-Invalidate-caches-with-KFD-TLB-invalidati.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1771-drm-amdgpu-Invalidate-caches-with-KFD-TLB-invalidati.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1771-drm-amdgpu-Invalidate-caches-with-KFD-TLB-invalidati.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1771-drm-amdgpu-Invalidate-caches-with-KFD-TLB-invalidati.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1771-drm-amdgpu-Invalidate-caches-with-KFD-TLB-invalidati.patch
new file mode 100644
index 00000000..b14ae904
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1771-drm-amdgpu-Invalidate-caches-with-KFD-TLB-invalidati.patch
@@ -0,0 +1,33 @@
+From 2a67b09866d6a985734211ba94ecfd9d170e7b9d Mon Sep 17 00:00:00 2001
+From: Jay Cornwall <Jay.Cornwall@amd.com>
+Date: Tue, 22 Aug 2017 15:15:27 -0500
+Subject: [PATCH 1771/4131] drm/amdgpu: Invalidate caches with KFD TLB
+ invalidation
+
+Physically tagged caches must be written back and invalidated before
+TLB invalidation is acknowledged to the driver. Modify the
+KFD's INVALIDATE_TLBS submission to request the hardware to do this.
+
+Change-Id: I6f54d038ef49900462bd9ed54ef70e74560dec5f
+Signed-off-by: Jay Cornwall <Jay.Cornwall@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c
+index 8af8d6c..25c3454 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c
+@@ -978,7 +978,8 @@ static int invalidate_tlbs_with_kiq(struct amdgpu_device *adev, uint16_t pasid)
+ amdgpu_ring_write(ring,
+ PACKET3_INVALIDATE_TLBS_DST_SEL(1) |
+ PACKET3_INVALIDATE_TLBS_ALL_HUB(1) |
+- PACKET3_INVALIDATE_TLBS_PASID(pasid));
++ PACKET3_INVALIDATE_TLBS_PASID(pasid) |
++ PACKET3_INVALIDATE_TLBS_FLUSH_TYPE(2));
+ amdgpu_fence_emit(ring, &f);
+ amdgpu_ring_commit(ring);
+ mutex_unlock(&adev->gfx.kiq.ring_mutex);
+--
+2.7.4
+