Following patch will introduce virtio map opreations which means the
address is not necessarily used for DMA. Let's rename the dma_handle
to map_handle first.
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
drivers/virtio/virtio_ring.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
index fb1d407d5f1b..94b2a8f3acc2 100644
--- a/drivers/virtio/virtio_ring.c
+++ b/drivers/virtio/virtio_ring.c
@@ -305,18 +305,18 @@ size_t virtio_max_dma_size(const struct virtio_device *vdev)
EXPORT_SYMBOL_GPL(virtio_max_dma_size);
static void *vring_alloc_queue(struct virtio_device *vdev, size_t size,
- dma_addr_t *dma_handle, gfp_t flag,
+ dma_addr_t *map_handle, gfp_t flag,
union vring_mapping_token *mapping_token)
{
if (vring_use_map_api(vdev)) {
return dma_alloc_coherent(mapping_token->dma_dev, size,
- dma_handle, flag);
+ map_handle, flag);
} else {
void *queue = alloc_pages_exact(PAGE_ALIGN(size), flag);
if (queue) {
phys_addr_t phys_addr = virt_to_phys(queue);
- *dma_handle = (dma_addr_t)phys_addr;
+ *map_handle = (dma_addr_t)phys_addr;
/*
* Sanity check: make sure we dind't truncate
@@ -329,7 +329,7 @@ static void *vring_alloc_queue(struct virtio_device *vdev, size_t size,
* warning and abort if we end up with an
* unrepresentable address.
*/
- if (WARN_ON_ONCE(*dma_handle != phys_addr)) {
+ if (WARN_ON_ONCE(*map_handle != phys_addr)) {
free_pages_exact(queue, PAGE_ALIGN(size));
return NULL;
}
@@ -339,11 +339,11 @@ static void *vring_alloc_queue(struct virtio_device *vdev, size_t size,
}
static void vring_free_queue(struct virtio_device *vdev, size_t size,
- void *queue, dma_addr_t dma_handle,
+ void *queue, dma_addr_t map_handle,
union vring_mapping_token *mapping_token)
{
if (vring_use_map_api(vdev))
- dma_free_coherent(mapping_token->dma_dev, size, queue, dma_handle);
+ dma_free_coherent(mapping_token->dma_dev, size, queue, map_handle);
else
free_pages_exact(queue, PAGE_ALIGN(size));
}
--
2.31.1
On Wed, Aug 13, 2025 at 01:48:27PM +0800, Jason Wang wrote:
> Following patch will introduce virtio map opreations which means the
operations
> address is not necessarily used for DMA. Let's rename the dma_handle
> to map_handle first.
>
> Reviewed-by: Christoph Hellwig <hch@lst.de>
> Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
> Signed-off-by: Jason Wang <jasowang@redhat.com>
> ---
> drivers/virtio/virtio_ring.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
> index fb1d407d5f1b..94b2a8f3acc2 100644
> --- a/drivers/virtio/virtio_ring.c
> +++ b/drivers/virtio/virtio_ring.c
> @@ -305,18 +305,18 @@ size_t virtio_max_dma_size(const struct virtio_device *vdev)
> EXPORT_SYMBOL_GPL(virtio_max_dma_size);
>
> static void *vring_alloc_queue(struct virtio_device *vdev, size_t size,
> - dma_addr_t *dma_handle, gfp_t flag,
> + dma_addr_t *map_handle, gfp_t flag,
> union vring_mapping_token *mapping_token)
> {
> if (vring_use_map_api(vdev)) {
> return dma_alloc_coherent(mapping_token->dma_dev, size,
> - dma_handle, flag);
> + map_handle, flag);
> } else {
> void *queue = alloc_pages_exact(PAGE_ALIGN(size), flag);
>
> if (queue) {
> phys_addr_t phys_addr = virt_to_phys(queue);
> - *dma_handle = (dma_addr_t)phys_addr;
> + *map_handle = (dma_addr_t)phys_addr;
>
> /*
> * Sanity check: make sure we dind't truncate
> @@ -329,7 +329,7 @@ static void *vring_alloc_queue(struct virtio_device *vdev, size_t size,
> * warning and abort if we end up with an
> * unrepresentable address.
> */
> - if (WARN_ON_ONCE(*dma_handle != phys_addr)) {
> + if (WARN_ON_ONCE(*map_handle != phys_addr)) {
> free_pages_exact(queue, PAGE_ALIGN(size));
> return NULL;
> }
> @@ -339,11 +339,11 @@ static void *vring_alloc_queue(struct virtio_device *vdev, size_t size,
> }
>
> static void vring_free_queue(struct virtio_device *vdev, size_t size,
> - void *queue, dma_addr_t dma_handle,
> + void *queue, dma_addr_t map_handle,
> union vring_mapping_token *mapping_token)
> {
> if (vring_use_map_api(vdev))
> - dma_free_coherent(mapping_token->dma_dev, size, queue, dma_handle);
> + dma_free_coherent(mapping_token->dma_dev, size, queue, map_handle);
> else
> free_pages_exact(queue, PAGE_ALIGN(size));
> }
> --
> 2.31.1
On Sun, Sep 21, 2025 at 04:54:19PM -0400, Michael S. Tsirkin wrote:
> On Wed, Aug 13, 2025 at 01:48:27PM +0800, Jason Wang wrote:
> > Following patch will introduce virtio map opreations which means the
>
> operations
note that i fixed it for now
> > address is not necessarily used for DMA. Let's rename the dma_handle
> > to map_handle first.
> >
> > Reviewed-by: Christoph Hellwig <hch@lst.de>
> > Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
> > Signed-off-by: Jason Wang <jasowang@redhat.com>
> > ---
> > drivers/virtio/virtio_ring.c | 12 ++++++------
> > 1 file changed, 6 insertions(+), 6 deletions(-)
> >
> > diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
> > index fb1d407d5f1b..94b2a8f3acc2 100644
> > --- a/drivers/virtio/virtio_ring.c
> > +++ b/drivers/virtio/virtio_ring.c
> > @@ -305,18 +305,18 @@ size_t virtio_max_dma_size(const struct virtio_device *vdev)
> > EXPORT_SYMBOL_GPL(virtio_max_dma_size);
> >
> > static void *vring_alloc_queue(struct virtio_device *vdev, size_t size,
> > - dma_addr_t *dma_handle, gfp_t flag,
> > + dma_addr_t *map_handle, gfp_t flag,
> > union vring_mapping_token *mapping_token)
> > {
> > if (vring_use_map_api(vdev)) {
> > return dma_alloc_coherent(mapping_token->dma_dev, size,
> > - dma_handle, flag);
> > + map_handle, flag);
> > } else {
> > void *queue = alloc_pages_exact(PAGE_ALIGN(size), flag);
> >
> > if (queue) {
> > phys_addr_t phys_addr = virt_to_phys(queue);
> > - *dma_handle = (dma_addr_t)phys_addr;
> > + *map_handle = (dma_addr_t)phys_addr;
> >
> > /*
> > * Sanity check: make sure we dind't truncate
> > @@ -329,7 +329,7 @@ static void *vring_alloc_queue(struct virtio_device *vdev, size_t size,
> > * warning and abort if we end up with an
> > * unrepresentable address.
> > */
> > - if (WARN_ON_ONCE(*dma_handle != phys_addr)) {
> > + if (WARN_ON_ONCE(*map_handle != phys_addr)) {
> > free_pages_exact(queue, PAGE_ALIGN(size));
> > return NULL;
> > }
> > @@ -339,11 +339,11 @@ static void *vring_alloc_queue(struct virtio_device *vdev, size_t size,
> > }
> >
> > static void vring_free_queue(struct virtio_device *vdev, size_t size,
> > - void *queue, dma_addr_t dma_handle,
> > + void *queue, dma_addr_t map_handle,
> > union vring_mapping_token *mapping_token)
> > {
> > if (vring_use_map_api(vdev))
> > - dma_free_coherent(mapping_token->dma_dev, size, queue, dma_handle);
> > + dma_free_coherent(mapping_token->dma_dev, size, queue, map_handle);
> > else
> > free_pages_exact(queue, PAGE_ALIGN(size));
> > }
> > --
> > 2.31.1
On Wed, Aug 13, 2025 at 7:49 AM Jason Wang <jasowang@redhat.com> wrote:
>
> Following patch will introduce virtio map opreations which means the
> address is not necessarily used for DMA. Let's rename the dma_handle
> to map_handle first.
>
> Reviewed-by: Christoph Hellwig <hch@lst.de>
> Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Reviewed-by: Eugenio Pérez <eperezma@redhat.com>
> Signed-off-by: Jason Wang <jasowang@redhat.com>
> ---
> drivers/virtio/virtio_ring.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
> index fb1d407d5f1b..94b2a8f3acc2 100644
> --- a/drivers/virtio/virtio_ring.c
> +++ b/drivers/virtio/virtio_ring.c
> @@ -305,18 +305,18 @@ size_t virtio_max_dma_size(const struct virtio_device *vdev)
> EXPORT_SYMBOL_GPL(virtio_max_dma_size);
>
> static void *vring_alloc_queue(struct virtio_device *vdev, size_t size,
> - dma_addr_t *dma_handle, gfp_t flag,
> + dma_addr_t *map_handle, gfp_t flag,
> union vring_mapping_token *mapping_token)
> {
> if (vring_use_map_api(vdev)) {
> return dma_alloc_coherent(mapping_token->dma_dev, size,
> - dma_handle, flag);
> + map_handle, flag);
> } else {
> void *queue = alloc_pages_exact(PAGE_ALIGN(size), flag);
>
> if (queue) {
> phys_addr_t phys_addr = virt_to_phys(queue);
> - *dma_handle = (dma_addr_t)phys_addr;
> + *map_handle = (dma_addr_t)phys_addr;
>
> /*
> * Sanity check: make sure we dind't truncate
> @@ -329,7 +329,7 @@ static void *vring_alloc_queue(struct virtio_device *vdev, size_t size,
> * warning and abort if we end up with an
> * unrepresentable address.
> */
> - if (WARN_ON_ONCE(*dma_handle != phys_addr)) {
> + if (WARN_ON_ONCE(*map_handle != phys_addr)) {
> free_pages_exact(queue, PAGE_ALIGN(size));
> return NULL;
> }
> @@ -339,11 +339,11 @@ static void *vring_alloc_queue(struct virtio_device *vdev, size_t size,
> }
>
> static void vring_free_queue(struct virtio_device *vdev, size_t size,
> - void *queue, dma_addr_t dma_handle,
> + void *queue, dma_addr_t map_handle,
> union vring_mapping_token *mapping_token)
> {
> if (vring_use_map_api(vdev))
> - dma_free_coherent(mapping_token->dma_dev, size, queue, dma_handle);
> + dma_free_coherent(mapping_token->dma_dev, size, queue, map_handle);
> else
> free_pages_exact(queue, PAGE_ALIGN(size));
> }
> --
> 2.31.1
>
© 2016 - 2026 Red Hat, Inc.