2023-01-11 06:39:34

by Jason Wang

[permalink] [raw]
Subject: [PATCH 2/5] vdpa: introduce get_vq_dma_device()

This patch introduces a new method to query the dma device that is use
for a specific virtqueue.

Signed-off-by: Jason Wang <[email protected]>
---
include/linux/vdpa.h | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/include/linux/vdpa.h b/include/linux/vdpa.h
index 6d0f5e4e82c2..3ec13aee35f5 100644
--- a/include/linux/vdpa.h
+++ b/include/linux/vdpa.h
@@ -282,6 +282,11 @@ struct vdpa_map_file {
* @iova: iova to be unmapped
* @size: size of the area
* Returns integer: success (0) or error (< 0)
+ * @get_vq_dma_dev: Get the dma device for a specific
+ * virtqueue (optional)
+ * @vdev: vdpa device
+ * @idx: virtqueue index
+ * Returns pointer to structure device or error (NULL)
* @free: Free resources that belongs to vDPA (optional)
* @vdev: vdpa device
*/
@@ -341,6 +346,7 @@ struct vdpa_config_ops {
u64 iova, u64 size);
int (*set_group_asid)(struct vdpa_device *vdev, unsigned int group,
unsigned int asid);
+ struct device *(*get_vq_dma_dev)(struct vdpa_device *vdev, u16 idx);

/* Free device resources */
void (*free)(struct vdpa_device *vdev);
--
2.25.1


2023-01-15 11:18:56

by Eli Cohen

[permalink] [raw]
Subject: RE: [PATCH 2/5] vdpa: introduce get_vq_dma_device()

> From: Jason Wang <[email protected]>
> Sent: Wednesday, 11 January 2023 8:28
> To: [email protected]; [email protected]
> Cc: Eli Cohen <[email protected]>; [email protected];
> [email protected]; [email protected];
> [email protected]
> Subject: [PATCH 2/5] vdpa: introduce get_vq_dma_device()
>
> This patch introduces a new method to query the dma device that is use
> for a specific virtqueue.
>
> Signed-off-by: Jason Wang <[email protected]>
Reviewed-by: Eli Cohen <[email protected]>
Tested-by: <[email protected]>
> ---
> include/linux/vdpa.h | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/include/linux/vdpa.h b/include/linux/vdpa.h
> index 6d0f5e4e82c2..3ec13aee35f5 100644
> --- a/include/linux/vdpa.h
> +++ b/include/linux/vdpa.h
> @@ -282,6 +282,11 @@ struct vdpa_map_file {
> * @iova: iova to be unmapped
> * @size: size of the area
> * Returns integer: success (0) or error (< 0)
> + * @get_vq_dma_dev: Get the dma device for a specific
> + * virtqueue (optional)
> + * @vdev: vdpa device
> + * @idx: virtqueue index
> + * Returns pointer to structure device or error
> (NULL)
> * @free: Free resources that belongs to vDPA
> (optional)
> * @vdev: vdpa device
> */
> @@ -341,6 +346,7 @@ struct vdpa_config_ops {
> u64 iova, u64 size);
> int (*set_group_asid)(struct vdpa_device *vdev, unsigned int group,
> unsigned int asid);
> + struct device *(*get_vq_dma_dev)(struct vdpa_device *vdev, u16 idx);
>
> /* Free device resources */
> void (*free)(struct vdpa_device *vdev);
> --
> 2.25.1