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 <[email protected]> > > Reviewed-by: Xuan Zhuo <[email protected]> > > Signed-off-by: Jason Wang <[email protected]> > > --- > > 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

