On 28-Oct-21 3:09 PM, Anatoly Burakov wrote:
Currently, there is no way to map memory for DMA in a way that allows
unmapping it partially later, because some IOMMU's do not support
partial unmapping. There is a workaround of mapping all of these
segments separately, but this is inconvenient and silly, so this
commit adds a proper API that does it.

This commit relies on earlier infrastructure that was built out to
support "chunking", as the concept of "chunks" is essentially the same
as page size.

Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com>
---

Notes:
     v2:
     - Added checks for page alignment of supplied values
     - Added rte_errno values (similar to patch 103165 [1])
[1] http://patches.dpdk.org/project/dpdk/patch/e8c5e7ba089e2283c3cd67e4529e52fe49390eb9.1635428963.git.anatoly.bura...@intel.com/

I think this API also needs VA and IOVA addresses in an array, so that it's possible to map IOVA-discontiguous segments. This is too late for this release, so let's postpone it till 22.02.

--
Thanks,
Anatoly

Reply via email to