[PATCH v5 1/1] iommu-api: Add map_sg/unmap_sg functions
From: Hiroshi Doyu <hidden>
Date: 2014-08-12 01:51:04
Also in:
linux-arm-msm, linux-iommu
Hi Olav, Olav Haugan [off-list ref] writes:
quoted hunk
@@ -93,6 +94,10 @@ enum iommu_attr { * @detach_dev: detach device from an iommu domain * @map: map a physically contiguous memory region to an iommu domain * @unmap: unmap a physically contiguous memory region from an iommu domain + * @map_sg: map a scatter-gather list of physically contiguous memory chunks + * to an iommu domain + * @unmap_sg: unmap a scatter-gather list of physically contiguous memory + * chunks from an iommu domain * @iova_to_phys: translate iova to physical address * @domain_has_cap: domain capabilities query * @add_device: add device to iommu grouping@@ -110,6 +115,11 @@ struct iommu_ops { phys_addr_t paddr, size_t size, int prot); size_t (*unmap)(struct iommu_domain *domain, unsigned long iova, size_t size); + int (*map_sg)(struct iommu_domain *domain, unsigned long iova, + struct scatterlist *sg, unsigned int nents, int prot, + unsigned long flags); + int (*unmap_sg)(struct iommu_domain *domain, unsigned long iova, + size_t size, unsigned long flags);
Do you have any exmaple/explanation for the above "flags"? Is this going to be used for iommu global/standard attribute or SoC spcific one?