This patch consities virtqueue point for DMA helpers.

Reviewed-by: Christoph Hellwig <h...@lst.de>
Signed-off-by: Jason Wang <jasow...@redhat.com>
---
 drivers/virtio/virtio_ring.c | 25 +++++++++++++------------
 include/linux/virtio.h       | 12 ++++++------
 2 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
index f5062061c408..103bad8cffff 100644
--- a/drivers/virtio/virtio_ring.c
+++ b/drivers/virtio/virtio_ring.c
@@ -3149,12 +3149,12 @@ EXPORT_SYMBOL_GPL(virtqueue_get_vring);
  *
  * return DMA address. Caller should check that by 
virtqueue_dma_mapping_error().
  */
-dma_addr_t virtqueue_dma_map_single_attrs(struct virtqueue *_vq, void *ptr,
+dma_addr_t virtqueue_dma_map_single_attrs(const struct virtqueue *_vq, void 
*ptr,
                                          size_t size,
                                          enum dma_data_direction dir,
                                          unsigned long attrs)
 {
-       struct vring_virtqueue *vq = to_vvq(_vq);
+       const struct vring_virtqueue *vq = to_vvq(_vq);
 
        if (!vq->use_dma_api) {
                kmsan_handle_dma(virt_to_page(ptr), offset_in_page(ptr), size, 
dir);
@@ -3176,11 +3176,12 @@ EXPORT_SYMBOL_GPL(virtqueue_dma_map_single_attrs);
  * Unmap the address that is mapped by the virtqueue_dma_map_* APIs.
  *
  */
-void virtqueue_dma_unmap_single_attrs(struct virtqueue *_vq, dma_addr_t addr,
+void virtqueue_dma_unmap_single_attrs(const struct virtqueue *_vq,
+                                     dma_addr_t addr,
                                      size_t size, enum dma_data_direction dir,
                                      unsigned long attrs)
 {
-       struct vring_virtqueue *vq = to_vvq(_vq);
+       const struct vring_virtqueue *vq = to_vvq(_vq);
 
        if (!vq->use_dma_api)
                return;
@@ -3196,9 +3197,9 @@ EXPORT_SYMBOL_GPL(virtqueue_dma_unmap_single_attrs);
  *
  * Returns 0 means dma valid. Other means invalid dma address.
  */
-int virtqueue_dma_mapping_error(struct virtqueue *_vq, dma_addr_t addr)
+int virtqueue_dma_mapping_error(const struct virtqueue *_vq, dma_addr_t addr)
 {
-       struct vring_virtqueue *vq = to_vvq(_vq);
+       const struct vring_virtqueue *vq = to_vvq(_vq);
 
        if (!vq->use_dma_api)
                return 0;
@@ -3217,9 +3218,9 @@ EXPORT_SYMBOL_GPL(virtqueue_dma_mapping_error);
  *
  * return bool
  */
-bool virtqueue_dma_need_sync(struct virtqueue *_vq, dma_addr_t addr)
+bool virtqueue_dma_need_sync(const struct virtqueue *_vq, dma_addr_t addr)
 {
-       struct vring_virtqueue *vq = to_vvq(_vq);
+       const struct vring_virtqueue *vq = to_vvq(_vq);
 
        if (!vq->use_dma_api)
                return false;
@@ -3240,12 +3241,12 @@ EXPORT_SYMBOL_GPL(virtqueue_dma_need_sync);
  * the DMA address really needs to be synchronized
  *
  */
-void virtqueue_dma_sync_single_range_for_cpu(struct virtqueue *_vq,
+void virtqueue_dma_sync_single_range_for_cpu(const struct virtqueue *_vq,
                                             dma_addr_t addr,
                                             unsigned long offset, size_t size,
                                             enum dma_data_direction dir)
 {
-       struct vring_virtqueue *vq = to_vvq(_vq);
+       const struct vring_virtqueue *vq = to_vvq(_vq);
        struct device *dev = vring_dma_dev(vq);
 
        if (!vq->use_dma_api)
@@ -3266,12 +3267,12 @@ 
EXPORT_SYMBOL_GPL(virtqueue_dma_sync_single_range_for_cpu);
  * Before calling this function, use virtqueue_dma_need_sync() to confirm that
  * the DMA address really needs to be synchronized
  */
-void virtqueue_dma_sync_single_range_for_device(struct virtqueue *_vq,
+void virtqueue_dma_sync_single_range_for_device(const struct virtqueue *_vq,
                                                dma_addr_t addr,
                                                unsigned long offset, size_t 
size,
                                                enum dma_data_direction dir)
 {
-       struct vring_virtqueue *vq = to_vvq(_vq);
+       const struct vring_virtqueue *vq = to_vvq(_vq);
        struct device *dev = vring_dma_dev(vq);
 
        if (!vq->use_dma_api)
diff --git a/include/linux/virtio.h b/include/linux/virtio.h
index dd98cc2b8c18..f2dbd18a2b2e 100644
--- a/include/linux/virtio.h
+++ b/include/linux/virtio.h
@@ -264,18 +264,18 @@ void unregister_virtio_driver(struct virtio_driver *drv);
        module_driver(__virtio_driver, register_virtio_driver, \
                        unregister_virtio_driver)
 
-dma_addr_t virtqueue_dma_map_single_attrs(struct virtqueue *_vq, void *ptr, 
size_t size,
+dma_addr_t virtqueue_dma_map_single_attrs(const struct virtqueue *_vq, void 
*ptr, size_t size,
                                          enum dma_data_direction dir, unsigned 
long attrs);
-void virtqueue_dma_unmap_single_attrs(struct virtqueue *_vq, dma_addr_t addr,
+void virtqueue_dma_unmap_single_attrs(const struct virtqueue *_vq, dma_addr_t 
addr,
                                      size_t size, enum dma_data_direction dir,
                                      unsigned long attrs);
-int virtqueue_dma_mapping_error(struct virtqueue *_vq, dma_addr_t addr);
+int virtqueue_dma_mapping_error(const struct virtqueue *_vq, dma_addr_t addr);
 
-bool virtqueue_dma_need_sync(struct virtqueue *_vq, dma_addr_t addr);
-void virtqueue_dma_sync_single_range_for_cpu(struct virtqueue *_vq, dma_addr_t 
addr,
+bool virtqueue_dma_need_sync(const struct virtqueue *_vq, dma_addr_t addr);
+void virtqueue_dma_sync_single_range_for_cpu(const struct virtqueue *_vq, 
dma_addr_t addr,
                                             unsigned long offset, size_t size,
                                             enum dma_data_direction dir);
-void virtqueue_dma_sync_single_range_for_device(struct virtqueue *_vq, 
dma_addr_t addr,
+void virtqueue_dma_sync_single_range_for_device(const struct virtqueue *_vq, 
dma_addr_t addr,
                                                unsigned long offset, size_t 
size,
                                                enum dma_data_direction dir);
 
-- 
2.42.0


Reply via email to