diff options
Diffstat (limited to 'drivers/iommu/intel/svm.c')
| -rw-r--r-- | drivers/iommu/intel/svm.c | 11 | 
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/iommu/intel/svm.c b/drivers/iommu/intel/svm.c index 7ee37d996e15..8bcfb93dda56 100644 --- a/drivers/iommu/intel/svm.c +++ b/drivers/iommu/intel/svm.c @@ -5,7 +5,6 @@   * Authors: David Woodhouse <[email protected]>   */ -#include <linux/intel-iommu.h>  #include <linux/mmu_notifier.h>  #include <linux/sched.h>  #include <linux/sched/mm.h> @@ -21,11 +20,12 @@  #include <linux/ioasid.h>  #include <asm/page.h>  #include <asm/fpu/api.h> -#include <trace/events/intel_iommu.h> +#include "iommu.h"  #include "pasid.h"  #include "perf.h"  #include "../iommu-sva-lib.h" +#include "trace.h"  static irqreturn_t prq_event_thread(int irq, void *d);  static void intel_svm_drain_prq(struct device *dev, u32 pasid); @@ -328,9 +328,9 @@ static struct iommu_sva *intel_svm_bind_mm(struct intel_iommu *iommu,  					   unsigned int flags)  {  	struct device_domain_info *info = dev_iommu_priv_get(dev); -	unsigned long iflags, sflags;  	struct intel_svm_dev *sdev;  	struct intel_svm *svm; +	unsigned long sflags;  	int ret = 0;  	svm = pasid_private_find(mm->pasid); @@ -394,11 +394,8 @@ static struct iommu_sva *intel_svm_bind_mm(struct intel_iommu *iommu,  	sflags = (flags & SVM_FLAG_SUPERVISOR_MODE) ?  			PASID_FLAG_SUPERVISOR_MODE : 0;  	sflags |= cpu_feature_enabled(X86_FEATURE_LA57) ? PASID_FLAG_FL5LP : 0; -	spin_lock_irqsave(&iommu->lock, iflags);  	ret = intel_pasid_setup_first_level(iommu, dev, mm->pgd, mm->pasid,  					    FLPT_DEFAULT_DID, sflags); -	spin_unlock_irqrestore(&iommu->lock, iflags); -  	if (ret)  		goto free_sdev; @@ -544,7 +541,7 @@ static void intel_svm_drain_prq(struct device *dev, u32 pasid)  	domain = info->domain;  	pdev = to_pci_dev(dev);  	sid = PCI_DEVID(info->bus, info->devfn); -	did = domain->iommu_did[iommu->seq_id]; +	did = domain_id_iommu(domain, iommu);  	qdep = pci_ats_queue_depth(pdev);  	/*  |