> From: Jacob Pan <jacob.jun.pan@linux.intel.com> > Sent: Tuesday, March 15, 2022 1:07 PM > > Some modern accelerators such as Intel's Data Streaming Accelerator (DSA) > require PASID in DMA requests to be operational. Specifically, the work > submissions with ENQCMD on shared work queues require PASIDs. The use > cases > include both user DMA with shared virtual addressing (SVA) and in-kernel > DMA similar to legacy DMA w/o PASID. Here we address the latter. > > DMA mapping API is the de facto standard for in-kernel DMA. However, it > operates on a per device or Requester ID(RID) basis which is not > PASID-aware. To leverage DMA API for devices relies on PASIDs, this > patchset introduces the following APIs > > 1. A driver facing API that enables DMA API PASID usage: > iommu_enable_pasid_dma(struct device *dev, ioasid_t &pasid); Should this be called dma_enable_pasid() since it's about DMA API? Doing so also avoids the driver to include iommu.h. Thanks Kevin
Hi Kevin, On Tue, 15 Mar 2022 08:16:59 +0000, "Tian, Kevin" <kevin.tian@intel.com> wrote: > > From: Jacob Pan <jacob.jun.pan@linux.intel.com> > > Sent: Tuesday, March 15, 2022 1:07 PM > > > > Some modern accelerators such as Intel's Data Streaming Accelerator > > (DSA) require PASID in DMA requests to be operational. Specifically, > > the work submissions with ENQCMD on shared work queues require PASIDs. > > The use cases > > include both user DMA with shared virtual addressing (SVA) and in-kernel > > DMA similar to legacy DMA w/o PASID. Here we address the latter. > > > > DMA mapping API is the de facto standard for in-kernel DMA. However, it > > operates on a per device or Requester ID(RID) basis which is not > > PASID-aware. To leverage DMA API for devices relies on PASIDs, this > > patchset introduces the following APIs > > > > 1. A driver facing API that enables DMA API PASID usage: > > iommu_enable_pasid_dma(struct device *dev, ioasid_t &pasid); > > Should this be called dma_enable_pasid() since it's about DMA API? Doing > so also avoids the driver to include iommu.h. > PASID is still tied to IOMMU, drivers who wants to use this must explicitly put dependency on IOMMU. So I prefer not to give that illusion. > Thanks > Kevin Thanks, Jacob
© 2016 - 2026 Red Hat, Inc.