Skip to content

Commit c10fb94

Browse files
YongjiXiemstsirkin
authored andcommitted
vdpa: Add an opaque pointer for vdpa_config_ops.dma_map()
Add an opaque pointer for DMA mapping. Suggested-by: Jason Wang <[email protected]> Signed-off-by: Xie Yongji <[email protected]> Acked-by: Jason Wang <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michael S. Tsirkin <[email protected]>
1 parent 59dfe4f commit c10fb94

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

drivers/vdpa/vdpa_sim/vdpa_sim.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -555,14 +555,14 @@ static int vdpasim_set_map(struct vdpa_device *vdpa,
555555
}
556556

557557
static int vdpasim_dma_map(struct vdpa_device *vdpa, u64 iova, u64 size,
558-
u64 pa, u32 perm)
558+
u64 pa, u32 perm, void *opaque)
559559
{
560560
struct vdpasim *vdpasim = vdpa_to_sim(vdpa);
561561
int ret;
562562

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

568568
return ret;

drivers/vhost/vdpa.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -571,7 +571,7 @@ static int vhost_vdpa_map(struct vhost_vdpa *v,
571571
return r;
572572

573573
if (ops->dma_map) {
574-
r = ops->dma_map(vdpa, iova, size, pa, perm);
574+
r = ops->dma_map(vdpa, iova, size, pa, perm, NULL);
575575
} else if (ops->set_map) {
576576
if (!v->in_batch)
577577
r = ops->set_map(vdpa, dev->iotlb);

include/linux/vdpa.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ struct vdpa_config_ops {
270270
/* DMA ops */
271271
int (*set_map)(struct vdpa_device *vdev, struct vhost_iotlb *iotlb);
272272
int (*dma_map)(struct vdpa_device *vdev, u64 iova, u64 size,
273-
u64 pa, u32 perm);
273+
u64 pa, u32 perm, void *opaque);
274274
int (*dma_unmap)(struct vdpa_device *vdev, u64 iova, u64 size);
275275

276276
/* Free device resources */

0 commit comments

Comments
 (0)