Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

virtio_ring: constify virtqueue pointer for DMA helpers

This patch constifies the virtqueue pointer for DMA helpers.

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>
Message-Id: <20250821064641.5025-2-jasowang@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Lei Yang <leiyang@redhat.com>
Reviewed-by: Eugenio Pérez <eperezma@redhat.com>

authored by

Jason Wang and committed by
Michael S. Tsirkin
7d096cb3 642d82e3

+19 -18
+13 -12
drivers/virtio/virtio_ring.c
··· 3149 3149 * 3150 3150 * return DMA address. Caller should check that by virtqueue_dma_mapping_error(). 3151 3151 */ 3152 - dma_addr_t virtqueue_dma_map_single_attrs(struct virtqueue *_vq, void *ptr, 3152 + dma_addr_t virtqueue_dma_map_single_attrs(const struct virtqueue *_vq, void *ptr, 3153 3153 size_t size, 3154 3154 enum dma_data_direction dir, 3155 3155 unsigned long attrs) 3156 3156 { 3157 - struct vring_virtqueue *vq = to_vvq(_vq); 3157 + const struct vring_virtqueue *vq = to_vvq(_vq); 3158 3158 3159 3159 if (!vq->use_dma_api) { 3160 3160 kmsan_handle_dma(virt_to_page(ptr), offset_in_page(ptr), size, dir); ··· 3176 3176 * Unmap the address that is mapped by the virtqueue_dma_map_* APIs. 3177 3177 * 3178 3178 */ 3179 - void virtqueue_dma_unmap_single_attrs(struct virtqueue *_vq, dma_addr_t addr, 3179 + void virtqueue_dma_unmap_single_attrs(const struct virtqueue *_vq, 3180 + dma_addr_t addr, 3180 3181 size_t size, enum dma_data_direction dir, 3181 3182 unsigned long attrs) 3182 3183 { 3183 - struct vring_virtqueue *vq = to_vvq(_vq); 3184 + const struct vring_virtqueue *vq = to_vvq(_vq); 3184 3185 3185 3186 if (!vq->use_dma_api) 3186 3187 return; ··· 3197 3196 * 3198 3197 * Returns 0 means dma valid. Other means invalid dma address. 3199 3198 */ 3200 - int virtqueue_dma_mapping_error(struct virtqueue *_vq, dma_addr_t addr) 3199 + int virtqueue_dma_mapping_error(const struct virtqueue *_vq, dma_addr_t addr) 3201 3200 { 3202 - struct vring_virtqueue *vq = to_vvq(_vq); 3201 + const struct vring_virtqueue *vq = to_vvq(_vq); 3203 3202 3204 3203 if (!vq->use_dma_api) 3205 3204 return 0; ··· 3218 3217 * 3219 3218 * return bool 3220 3219 */ 3221 - bool virtqueue_dma_need_sync(struct virtqueue *_vq, dma_addr_t addr) 3220 + bool virtqueue_dma_need_sync(const struct virtqueue *_vq, dma_addr_t addr) 3222 3221 { 3223 - struct vring_virtqueue *vq = to_vvq(_vq); 3222 + const struct vring_virtqueue *vq = to_vvq(_vq); 3224 3223 3225 3224 if (!vq->use_dma_api) 3226 3225 return false; ··· 3241 3240 * the DMA address really needs to be synchronized 3242 3241 * 3243 3242 */ 3244 - void virtqueue_dma_sync_single_range_for_cpu(struct virtqueue *_vq, 3243 + void virtqueue_dma_sync_single_range_for_cpu(const struct virtqueue *_vq, 3245 3244 dma_addr_t addr, 3246 3245 unsigned long offset, size_t size, 3247 3246 enum dma_data_direction dir) 3248 3247 { 3249 - struct vring_virtqueue *vq = to_vvq(_vq); 3248 + const struct vring_virtqueue *vq = to_vvq(_vq); 3250 3249 struct device *dev = vring_dma_dev(vq); 3251 3250 3252 3251 if (!vq->use_dma_api) ··· 3267 3266 * Before calling this function, use virtqueue_dma_need_sync() to confirm that 3268 3267 * the DMA address really needs to be synchronized 3269 3268 */ 3270 - void virtqueue_dma_sync_single_range_for_device(struct virtqueue *_vq, 3269 + void virtqueue_dma_sync_single_range_for_device(const struct virtqueue *_vq, 3271 3270 dma_addr_t addr, 3272 3271 unsigned long offset, size_t size, 3273 3272 enum dma_data_direction dir) 3274 3273 { 3275 - struct vring_virtqueue *vq = to_vvq(_vq); 3274 + const struct vring_virtqueue *vq = to_vvq(_vq); 3276 3275 struct device *dev = vring_dma_dev(vq); 3277 3276 3278 3277 if (!vq->use_dma_api)
+6 -6
include/linux/virtio.h
··· 262 262 module_driver(__virtio_driver, register_virtio_driver, \ 263 263 unregister_virtio_driver) 264 264 265 - dma_addr_t virtqueue_dma_map_single_attrs(struct virtqueue *_vq, void *ptr, size_t size, 265 + dma_addr_t virtqueue_dma_map_single_attrs(const struct virtqueue *_vq, void *ptr, size_t size, 266 266 enum dma_data_direction dir, unsigned long attrs); 267 - void virtqueue_dma_unmap_single_attrs(struct virtqueue *_vq, dma_addr_t addr, 267 + void virtqueue_dma_unmap_single_attrs(const struct virtqueue *_vq, dma_addr_t addr, 268 268 size_t size, enum dma_data_direction dir, 269 269 unsigned long attrs); 270 - int virtqueue_dma_mapping_error(struct virtqueue *_vq, dma_addr_t addr); 270 + int virtqueue_dma_mapping_error(const struct virtqueue *_vq, dma_addr_t addr); 271 271 272 - bool virtqueue_dma_need_sync(struct virtqueue *_vq, dma_addr_t addr); 273 - void virtqueue_dma_sync_single_range_for_cpu(struct virtqueue *_vq, dma_addr_t addr, 272 + bool virtqueue_dma_need_sync(const struct virtqueue *_vq, dma_addr_t addr); 273 + void virtqueue_dma_sync_single_range_for_cpu(const struct virtqueue *_vq, dma_addr_t addr, 274 274 unsigned long offset, size_t size, 275 275 enum dma_data_direction dir); 276 - void virtqueue_dma_sync_single_range_for_device(struct virtqueue *_vq, dma_addr_t addr, 276 + void virtqueue_dma_sync_single_range_for_device(const struct virtqueue *_vq, dma_addr_t addr, 277 277 unsigned long offset, size_t size, 278 278 enum dma_data_direction dir); 279 279