Lines Matching +full:group +full:- +full:index +full:- +full:bits
1 /* SPDX-License-Identifier: GPL-2.0 */
14 * struct vdpa_callback - vDPA callback definition.
30 * struct vdpa_notification_area - vDPA notification area
40 * struct vdpa_vq_state_split - vDPA split virtqueue state
41 * @avail_index: available index
48 * struct vdpa_vq_state_packed - vDPA packed virtqueue state
50 * @last_avail_idx: device available index
52 * @last_used_idx: used index
71 * struct vdpa_device - representation of a vDPA device
79 * @index: device index
94 unsigned int index; member
104 * struct vdpa_iova_range - the IOVA range support by the device
124 * struct vdpa_map_file - file area for device memory mapping
125 * @file: vma->vm_file for the mapping
134 * struct vdpa_config_ops - operations for configuring a vDPA device.
141 * @idx: virtqueue index
148 * @idx: virtqueue index
152 * @idx: virtqueue index
157 * 16 bits vqn and 16 bits next available index.
159 * 16 bits vqn, 15 least significant bits of
160 * next available index and 1 bit next_wrap.
164 * @idx: virtqueue index
165 * @cb: virtio-vdev interrupt callback structure
168 * @idx: virtqueue index
172 * @idx: virtqueue index
176 * @idx: virtqueue index
181 * @idx: virtqueue index
185 * @idx: virtqueue index
191 * @idx: virtqueue index
196 * @idx: virtqueue index
201 * @idx: virtqueue index
207 * @get_vq_group: Get the group id for a specific
210 * @idx: virtqueue index
211 * Returns u32: group id for this virtqueue
212 * @get_vq_desc_group: Get the group id for the descriptor table of
215 * @idx: virtqueue index
216 * Returns u32: group id for the descriptor table
226 * @get_backend_features: Get parent-specific backend features (optional)
238 * @cb: virtio-vdev interrupt callback structure
266 * implement .reset, Historically non-compliant
278 * fields that are conditional on feature bits.
304 * @idx: virtqueue index
309 * @idx: virtqueue index
312 * virtqueue group (optional)
314 * @group: virtqueue group
315 * @asid: address space id for this group
319 * specific DMA translation (on-chip IOMMU)
327 * specific DMA translation (on-chip IOMMU)
339 * specific DMA translation (on-chip IOMMU)
358 * @idx: virtqueue index
437 int (*set_group_asid)(struct vdpa_device *vdev, unsigned int group,
454 * vdpa_alloc_device - allocate and initilaize a vDPA device
483 * struct vdpa_driver - operations for a vDPA driver
485 * @probe: the function to call when a device is found. Returns 0 or -errno.
515 return dev_get_drvdata(&vdev->dev); in vdpa_get_drvdata()
520 dev_set_drvdata(&vdev->dev, data); in vdpa_set_drvdata()
525 return vdev->dma_dev; in vdpa_get_dma_dev()
530 const struct vdpa_config_ops *ops = vdev->config; in vdpa_reset()
533 down_write(&vdev->cf_lock); in vdpa_reset()
534 vdev->features_valid = false; in vdpa_reset()
535 if (ops->compat_reset && flags) in vdpa_reset()
536 ret = ops->compat_reset(vdev, flags); in vdpa_reset()
538 ret = ops->reset(vdev); in vdpa_reset()
539 up_write(&vdev->cf_lock); in vdpa_reset()
545 const struct vdpa_config_ops *ops = vdev->config; in vdpa_set_features_unlocked()
548 vdev->features_valid = true; in vdpa_set_features_unlocked()
549 ret = ops->set_driver_features(vdev, features); in vdpa_set_features_unlocked()
558 down_write(&vdev->cf_lock); in vdpa_set_features()
560 up_write(&vdev->cf_lock); in vdpa_set_features()
572 * struct vdpa_mgmtdev_ops - vdpa device ops
602 * struct vdpa_mgmt_dev - vdpa management device