mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 19:13:47 +02:00
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>
This commit is contained in:
parent
642d82e3c3
commit
7d096cb3e1
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -262,18 +262,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);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user