Lines Matching +full:virtio +full:- +full:iommu

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
48 * struct vdpa_vq_state_packed - vDPA packed virtqueue state
71 * struct vdpa_device - representation of a vDPA device
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.
165 * @cb: virtio-vdev interrupt callback structure
222 * @get_device_features: Get virtio features supported by the device
224 * Returns the virtio features support by the
226 * @get_backend_features: Get parent-specific backend features (optional)
229 * @set_driver_features: Set virtio features supported by the driver
233 * @get_driver_features: Get the virtio driver features in action
235 * Returns the virtio features accepted
238 * @cb: virtio-vdev interrupt callback structure
245 * @get_device_id: Get virtio device id
247 * Returns u32: virtio device id
250 * Returns u32: virtio vendor id
253 * Returns u8: virtio device status
256 * @status: virtio device status
266 * implement .reset, Historically non-compliant
319 * specific DMA translation (on-chip IOMMU)
327 * specific DMA translation (on-chip IOMMU)
339 * specific DMA translation (on-chip IOMMU)
350 * to be decoupled from the virtio life cycle,
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