diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1280-drm-amdkfd-KFD-use-the-new-invalidate_tlbs-interface.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1280-drm-amdkfd-KFD-use-the-new-invalidate_tlbs-interface.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1280-drm-amdkfd-KFD-use-the-new-invalidate_tlbs-interface.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1280-drm-amdkfd-KFD-use-the-new-invalidate_tlbs-interface.patch new file mode 100644 index 00000000..b211b992 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1280-drm-amdkfd-KFD-use-the-new-invalidate_tlbs-interface.patch @@ -0,0 +1,53 @@ +From 7ee7393d40c3765ce8adfe51ff7864b1da0aa6ee Mon Sep 17 00:00:00 2001 +From: Shaoyun Liu <Shaoyun.Liu@amd.com> +Date: Wed, 26 Apr 2017 16:42:42 -0400 +Subject: [PATCH 1280/4131] drm/amdkfd: KFD use the new invalidate_tlbs + interface for TLB invalidation + +Change-Id: I58a15b411a00c17471c00f4e8217097177797305 +Signed-off-by: Shaoyun Liu <Shaoyun.Liu@amd.com> +--- + drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c | 28 +--------------------------- + 1 file changed, 1 insertion(+), 27 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c b/drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c +index 1c1ec21..2fa5d32 100644 +--- a/drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c ++++ b/drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c +@@ -425,32 +425,6 @@ int kfd_init_apertures(struct kfd_process *process) + + void kfd_flush_tlb(struct kfd_dev *dev, uint32_t pasid) + { +- uint8_t vmid; +- int first_vmid_to_scan = 8; +- int last_vmid_to_scan = 15; +- + const struct kfd2kgd_calls *f2g = dev->kfd2kgd; +- /* Scan all registers in the range ATC_VMID8_PASID_MAPPING .. ATC_VMID15_PASID_MAPPING +- * to check which VMID the current process is mapped to +- * and flush TLB for this VMID if found*/ +- if (dev->device_info->asic_family >= CHIP_VEGA10) +- spin_lock(&dev->tlb_invalidation_lock); +- +- for (vmid = first_vmid_to_scan; vmid <= last_vmid_to_scan; vmid++) { +- if (f2g->get_atc_vmid_pasid_mapping_valid( +- dev->kgd, vmid)) { +- if (f2g->get_atc_vmid_pasid_mapping_pasid( +- dev->kgd, vmid) == pasid) { +- dev_dbg(kfd_device, +- "flushing TLB of vmid %u", vmid); +- f2g->write_vmid_invalidate_request( +- dev->kgd, vmid); +- break; +- } +- } +- } +- +- if (dev->device_info->asic_family >= CHIP_VEGA10) +- spin_unlock(&dev->tlb_invalidation_lock); +- ++ f2g->invalidate_tlbs(dev->kgd, pasid); + } +-- +2.7.4 + |