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 - 2025 Red Hat, Inc.