On Mon, Mar 27, 2023 at 12:05 PM Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx> wrote: > > Update the document of virtqueue_add_* series API, allowing the callers to > use sg->dma_address to pass the dma address to Virtio Core. > > Signed-off-by: Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx> Acked-by: Jason Wang <jasowang@xxxxxxxxxx> Thanks > --- > drivers/virtio/virtio_ring.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c > index d5dffbe50070..0b198ec3ff92 100644 > --- a/drivers/virtio/virtio_ring.c > +++ b/drivers/virtio/virtio_ring.c > @@ -2202,6 +2202,10 @@ static inline int virtqueue_add(struct virtqueue *_vq, > * Caller must ensure we don't call this with other virtqueue operations > * at the same time (except where noted). > * > + * If the caller has done dma map then use sg->dma_address to pass dma address. > + * If one sg->dma_address is used, then all sgs must use sg->dma_address; > + * otherwise all sg->dma_address must be NULL. > + * > * Returns zero or a negative error (ie. ENOSPC, ENOMEM, EIO). > */ > int virtqueue_add_sgs(struct virtqueue *_vq, > @@ -2236,6 +2240,10 @@ EXPORT_SYMBOL_GPL(virtqueue_add_sgs); > * Caller must ensure we don't call this with other virtqueue operations > * at the same time (except where noted). > * > + * If the caller has done dma map then use sg->dma_address to pass dma address. > + * If one sg->dma_address is used, then all sgs must use sg->dma_address; > + * otherwise all sg->dma_address must be NULL. > + * > * Returns zero or a negative error (ie. ENOSPC, ENOMEM, EIO). > */ > int virtqueue_add_outbuf(struct virtqueue *vq, > @@ -2258,6 +2266,10 @@ EXPORT_SYMBOL_GPL(virtqueue_add_outbuf); > * Caller must ensure we don't call this with other virtqueue operations > * at the same time (except where noted). > * > + * If the caller has done dma map then use sg->dma_address to pass dma address. > + * If one sg->dma_address is used, then all sgs must use sg->dma_address; > + * otherwise all sg->dma_address must be NULL. > + * > * Returns zero or a negative error (ie. ENOSPC, ENOMEM, EIO). > */ > int virtqueue_add_inbuf(struct virtqueue *vq, > @@ -2281,6 +2293,10 @@ EXPORT_SYMBOL_GPL(virtqueue_add_inbuf); > * Caller must ensure we don't call this with other virtqueue operations > * at the same time (except where noted). > * > + * If the caller has done dma map then use sg->dma_address to pass dma address. > + * If one sg->dma_address is used, then all sgs must use sg->dma_address; > + * otherwise all sg->dma_address must be NULL. > + * > * Returns zero or a negative error (ie. ENOSPC, ENOMEM, EIO). > */ > int virtqueue_add_inbuf_ctx(struct virtqueue *vq, > -- > 2.32.0.3.g01195cf9f > _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization