Message ID | 20230427174937.471668-3-jacob.jun.pan@linux.intel.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Re-enable IDXD kernel workqueue under DMA API | expand |
> From: Jacob Pan <jacob.jun.pan@linux.intel.com> > Sent: Friday, April 28, 2023 1:50 AM > > SVA PASID allocation is hardcoded to start from 1 because 0 is used for > RID_PASID, let's make it explicit to avoid the potential conflicts. > > Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com> > --- > drivers/iommu/iommu-sva.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/iommu/iommu-sva.c b/drivers/iommu/iommu-sva.c > index c434b95dc8eb..ac7c93bacb5c 100644 > --- a/drivers/iommu/iommu-sva.c > +++ b/drivers/iommu/iommu-sva.c > @@ -66,7 +66,7 @@ struct iommu_sva *iommu_sva_bind_device(struct > device *dev, struct mm_struct *mm > return ERR_PTR(-EOPNOTSUPP); > > /* Allocate mm->pasid if necessary. */ > - ret = iommu_sva_alloc_pasid(mm, 1, max_pasids - 1); > + ret = iommu_sva_alloc_pasid(mm, IOMMU_DEF_RID_PASID + 1, > max_pasids - 1); To be future proof it's probably cleaner to define a IOMMU_MAX_RSVD_PASID in case there may be more reserved pasids in future usages?
Hi Kevin, On Fri, 28 Apr 2023 09:40:12 +0000, "Tian, Kevin" <kevin.tian@intel.com> wrote: > > From: Jacob Pan <jacob.jun.pan@linux.intel.com> > > Sent: Friday, April 28, 2023 1:50 AM > > > > SVA PASID allocation is hardcoded to start from 1 because 0 is used for > > RID_PASID, let's make it explicit to avoid the potential conflicts. > > > > Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com> > > --- > > drivers/iommu/iommu-sva.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/iommu/iommu-sva.c b/drivers/iommu/iommu-sva.c > > index c434b95dc8eb..ac7c93bacb5c 100644 > > --- a/drivers/iommu/iommu-sva.c > > +++ b/drivers/iommu/iommu-sva.c > > @@ -66,7 +66,7 @@ struct iommu_sva *iommu_sva_bind_device(struct > > device *dev, struct mm_struct *mm > > return ERR_PTR(-EOPNOTSUPP); > > > > /* Allocate mm->pasid if necessary. */ > > - ret = iommu_sva_alloc_pasid(mm, 1, max_pasids - 1); > > + ret = iommu_sva_alloc_pasid(mm, IOMMU_DEF_RID_PASID + 1, > > max_pasids - 1); > > To be future proof it's probably cleaner to define a > IOMMU_MAX_RSVD_PASID in case there may be more reserved > pasids in future usages? much better, will do. Thanks, Jacob
diff --git a/drivers/iommu/iommu-sva.c b/drivers/iommu/iommu-sva.c index c434b95dc8eb..ac7c93bacb5c 100644 --- a/drivers/iommu/iommu-sva.c +++ b/drivers/iommu/iommu-sva.c @@ -66,7 +66,7 @@ struct iommu_sva *iommu_sva_bind_device(struct device *dev, struct mm_struct *mm return ERR_PTR(-EOPNOTSUPP); /* Allocate mm->pasid if necessary. */ - ret = iommu_sva_alloc_pasid(mm, 1, max_pasids - 1); + ret = iommu_sva_alloc_pasid(mm, IOMMU_DEF_RID_PASID + 1, max_pasids - 1); if (ret) return ERR_PTR(ret);
SVA PASID allocation is hardcoded to start from 1 because 0 is used for RID_PASID, let's make it explicit to avoid the potential conflicts. Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com> --- drivers/iommu/iommu-sva.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)