Commit f4e2cfd3 authored by jan.koester's avatar jan.koester
Browse files

some fixes

parent 16b2608c
Loading
Loading
Loading
Loading
+0 −105
Original line number Diff line number Diff line
@@ -237,111 +237,6 @@ static void intel_flush_svm_all(struct intel_svm *svm)
	rcu_read_unlock();
}

static void intel_flush_svm_all(struct intel_svm *svm)
{
	struct device_domain_info *info;
	struct intel_svm_dev *sdev;

	rcu_read_lock();
	list_for_each_entry_rcu(sdev, &svm->devs, list) {
		info = dev_iommu_priv_get(sdev->dev);

		qi_flush_piotlb(sdev->iommu, sdev->did, svm->pasid, 0, -1UL, 0);
		if (info->ats_enabled) {
			qi_flush_dev_iotlb_pasid(sdev->iommu, sdev->sid, info->pfsid,
						 svm->pasid, sdev->qdep,
						 0, 64 - VTD_PAGE_SHIFT);
			quirk_extra_dev_tlb_flush(info, 0, 64 - VTD_PAGE_SHIFT,
						  svm->pasid, sdev->qdep);
		}
	}
	rcu_read_unlock();
}

static void intel_flush_svm_all(struct intel_svm *svm)
{
	struct device_domain_info *info;
	struct intel_svm_dev *sdev;

	rcu_read_lock();
	list_for_each_entry_rcu(sdev, &svm->devs, list) {
		info = dev_iommu_priv_get(sdev->dev);

		qi_flush_piotlb(sdev->iommu, sdev->did, svm->pasid, 0, -1UL, 0);
		if (info->ats_enabled) {
			qi_flush_dev_iotlb_pasid(sdev->iommu, sdev->sid, info->pfsid,
						 svm->pasid, sdev->qdep,
						 0, 64 - VTD_PAGE_SHIFT);
			quirk_extra_dev_tlb_flush(info, 0, 64 - VTD_PAGE_SHIFT,
						  svm->pasid, sdev->qdep);
		}
	}
	rcu_read_unlock();
}

static void intel_flush_svm_all(struct intel_svm *svm)
{
	struct device_domain_info *info;
	struct intel_svm_dev *sdev;

	rcu_read_lock();
	list_for_each_entry_rcu(sdev, &svm->devs, list) {
		info = dev_iommu_priv_get(sdev->dev);

		qi_flush_piotlb(sdev->iommu, sdev->did, svm->pasid, 0, -1UL, 0);
		if (info->ats_enabled) {
			qi_flush_dev_iotlb_pasid(sdev->iommu, sdev->sid, info->pfsid,
						 svm->pasid, sdev->qdep,
						 0, 64 - VTD_PAGE_SHIFT);
			quirk_extra_dev_tlb_flush(info, 0, 64 - VTD_PAGE_SHIFT,
						  svm->pasid, sdev->qdep);
		}
	}
	rcu_read_unlock();
}

static void intel_flush_svm_all(struct intel_svm *svm)
{
	struct device_domain_info *info;
	struct intel_svm_dev *sdev;

	rcu_read_lock();
	list_for_each_entry_rcu(sdev, &svm->devs, list) {
		info = dev_iommu_priv_get(sdev->dev);

		qi_flush_piotlb(sdev->iommu, sdev->did, svm->pasid, 0, -1UL, 0);
		if (info->ats_enabled) {
			qi_flush_dev_iotlb_pasid(sdev->iommu, sdev->sid, info->pfsid,
						 svm->pasid, sdev->qdep,
						 0, 64 - VTD_PAGE_SHIFT);
			quirk_extra_dev_tlb_flush(info, 0, 64 - VTD_PAGE_SHIFT,
						  svm->pasid, sdev->qdep);
		}
	}
	rcu_read_unlock();
}

static void intel_flush_svm_all(struct intel_svm *svm)
{
	struct device_domain_info *info;
	struct intel_svm_dev *sdev;

	rcu_read_lock();
	list_for_each_entry_rcu(sdev, &svm->devs, list) {
		info = dev_iommu_priv_get(sdev->dev);

		qi_flush_piotlb(sdev->iommu, sdev->did, svm->pasid, 0, -1UL, 0);
		if (info->ats_enabled) {
			qi_flush_dev_iotlb_pasid(sdev->iommu, sdev->sid, info->pfsid,
						 svm->pasid, sdev->qdep,
						 0, 64 - VTD_PAGE_SHIFT);
			quirk_extra_dev_tlb_flush(info, 0, 64 - VTD_PAGE_SHIFT,
						  svm->pasid, sdev->qdep);
		}
	}
	rcu_read_unlock();
}

/* Pages have been freed at this point */
static void intel_arch_invalidate_secondary_tlbs(struct mmu_notifier *mn,
					struct mm_struct *mm,