Commit c10fb945 authored by Xie Yongji's avatar Xie Yongji Committed by Michael S. Tsirkin
Browse files

vdpa: Add an opaque pointer for vdpa_config_ops.dma_map()

parent 59dfe4f1
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -555,14 +555,14 @@ static int vdpasim_set_map(struct vdpa_device *vdpa,
}

static int vdpasim_dma_map(struct vdpa_device *vdpa, u64 iova, u64 size,
			   u64 pa, u32 perm)
			   u64 pa, u32 perm, void *opaque)
{
	struct vdpasim *vdpasim = vdpa_to_sim(vdpa);
	int ret;

	spin_lock(&vdpasim->iommu_lock);
	ret = vhost_iotlb_add_range(vdpasim->iommu, iova, iova + size - 1, pa,
				    perm);
	ret = vhost_iotlb_add_range_ctx(vdpasim->iommu, iova, iova + size - 1,
					pa, perm, opaque);
	spin_unlock(&vdpasim->iommu_lock);

	return ret;
+1 −1
Original line number Diff line number Diff line
@@ -571,7 +571,7 @@ static int vhost_vdpa_map(struct vhost_vdpa *v,
		return r;

	if (ops->dma_map) {
		r = ops->dma_map(vdpa, iova, size, pa, perm);
		r = ops->dma_map(vdpa, iova, size, pa, perm, NULL);
	} else if (ops->set_map) {
		if (!v->in_batch)
			r = ops->set_map(vdpa, dev->iotlb);
+1 −1
Original line number Diff line number Diff line
@@ -270,7 +270,7 @@ struct vdpa_config_ops {
	/* DMA ops */
	int (*set_map)(struct vdpa_device *vdev, struct vhost_iotlb *iotlb);
	int (*dma_map)(struct vdpa_device *vdev, u64 iova, u64 size,
		       u64 pa, u32 perm);
		       u64 pa, u32 perm, void *opaque);
	int (*dma_unmap)(struct vdpa_device *vdev, u64 iova, u64 size);

	/* Free device resources */