iommu/vt-d: Clean up unused PASID updating functions
update_pasid() and its call chain are currently unused in the tree because Thomas disabled the ENQCMD feature. The feature will be re-enabled shortly using a different approach and update_pasid() and its call chain will not be used in the new approach. Remove the useless functions. Signed-off-by: Fenghua Yu <fenghua.yu@intel.com> Reviewed-by: Tony Luck <tony.luck@intel.com> Link: https://lore.kernel.org/r/20210920192349.2602141-1-fenghua.yu@intel.com Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com> Link: https://lore.kernel.org/r/20211014053839.727419-8-baolu.lu@linux.intel.com Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
94f797ad61
commit
00ecd54013
@ -106,6 +106,4 @@ extern int cpu_has_xfeatures(u64 xfeatures_mask, const char **feature_name);
|
|||||||
*/
|
*/
|
||||||
#define PASID_DISABLED 0
|
#define PASID_DISABLED 0
|
||||||
|
|
||||||
static inline void update_pasid(void) { }
|
|
||||||
|
|
||||||
#endif /* _ASM_X86_FPU_API_H */
|
#endif /* _ASM_X86_FPU_API_H */
|
||||||
|
@ -505,21 +505,6 @@ out:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void _load_pasid(void *unused)
|
|
||||||
{
|
|
||||||
update_pasid();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void load_pasid(struct mm_struct *mm, u32 pasid)
|
|
||||||
{
|
|
||||||
mutex_lock(&mm->context.lock);
|
|
||||||
|
|
||||||
/* Update PASID MSR on all CPUs running the mm's tasks. */
|
|
||||||
on_each_cpu_mask(mm_cpumask(mm), _load_pasid, NULL, true);
|
|
||||||
|
|
||||||
mutex_unlock(&mm->context.lock);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int intel_svm_alloc_pasid(struct device *dev, struct mm_struct *mm,
|
static int intel_svm_alloc_pasid(struct device *dev, struct mm_struct *mm,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
@ -614,10 +599,6 @@ static struct iommu_sva *intel_svm_bind_mm(struct intel_iommu *iommu,
|
|||||||
if (ret)
|
if (ret)
|
||||||
goto free_sdev;
|
goto free_sdev;
|
||||||
|
|
||||||
/* The newly allocated pasid is loaded to the mm. */
|
|
||||||
if (!(flags & SVM_FLAG_SUPERVISOR_MODE) && list_empty(&svm->devs))
|
|
||||||
load_pasid(mm, svm->pasid);
|
|
||||||
|
|
||||||
list_add_rcu(&sdev->list, &svm->devs);
|
list_add_rcu(&sdev->list, &svm->devs);
|
||||||
success:
|
success:
|
||||||
return &sdev->sva;
|
return &sdev->sva;
|
||||||
@ -670,11 +651,8 @@ static int intel_svm_unbind_mm(struct device *dev, u32 pasid)
|
|||||||
kfree_rcu(sdev, rcu);
|
kfree_rcu(sdev, rcu);
|
||||||
|
|
||||||
if (list_empty(&svm->devs)) {
|
if (list_empty(&svm->devs)) {
|
||||||
if (svm->notifier.ops) {
|
if (svm->notifier.ops)
|
||||||
mmu_notifier_unregister(&svm->notifier, mm);
|
mmu_notifier_unregister(&svm->notifier, mm);
|
||||||
/* Clear mm's pasid. */
|
|
||||||
load_pasid(mm, PASID_DISABLED);
|
|
||||||
}
|
|
||||||
pasid_private_remove(svm->pasid);
|
pasid_private_remove(svm->pasid);
|
||||||
/* We mandate that no page faults may be outstanding
|
/* We mandate that no page faults may be outstanding
|
||||||
* for the PASID when intel_svm_unbind_mm() is called.
|
* for the PASID when intel_svm_unbind_mm() is called.
|
||||||
|
Loading…
Reference in New Issue
Block a user