drm/amdgpu: GPU TLB flush API moved to amdgpu_amdkfd
[Why] TLB flush method has been deprecated using kfd2kgd interface. This implementation is now on the amdgpu_amdkfd API. [How] TLB flush functions now implemented in amdgpu_amdkfd. Signed-off-by: Alex Sierra <alex.sierra@amd.com> Acked-by: Christian König <christian.koenig@amd.com> Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:

committed by
Alex Deucher

parent
ea930000a6
commit
ffa022696f
@@ -32,6 +32,7 @@
|
||||
#include <linux/mman.h>
|
||||
#include <linux/file.h>
|
||||
#include "amdgpu_amdkfd.h"
|
||||
#include "amdgpu.h"
|
||||
|
||||
struct mm_struct;
|
||||
|
||||
@@ -1152,16 +1153,17 @@ int kfd_reserved_mem_mmap(struct kfd_dev *dev, struct kfd_process *process,
|
||||
void kfd_flush_tlb(struct kfd_process_device *pdd)
|
||||
{
|
||||
struct kfd_dev *dev = pdd->dev;
|
||||
const struct kfd2kgd_calls *f2g = dev->kfd2kgd;
|
||||
|
||||
if (dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) {
|
||||
/* Nothing to flush until a VMID is assigned, which
|
||||
* only happens when the first queue is created.
|
||||
*/
|
||||
if (pdd->qpd.vmid)
|
||||
f2g->invalidate_tlbs_vmid(dev->kgd, pdd->qpd.vmid);
|
||||
amdgpu_amdkfd_flush_gpu_tlb_vmid(dev->kgd,
|
||||
pdd->qpd.vmid);
|
||||
} else {
|
||||
f2g->invalidate_tlbs(dev->kgd, pdd->process->pasid);
|
||||
amdgpu_amdkfd_flush_gpu_tlb_pasid(dev->kgd,
|
||||
pdd->process->pasid);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user