Lines Matching +full:config +full:- +full:space

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
77 * @config: the configuration ops for this device.
92 const struct vdpa_config_ops *config; member
93 struct rw_semaphore cf_lock; /* Protects get/set config */
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
226 * @get_backend_features: Get parent-specific backend features (optional)
236 * @set_config_cb: Set the config interrupt callback
238 * @cb: virtio-vdev interrupt callback structure
266 * implement .reset, Historically non-compliant
277 * @get_config_size: Get the size of the configuration space includes
281 * @get_config: Read from device specific configuration space
284 * configuration space
287 * configuration space
288 * @set_config: Write to device specific configuration space
291 * configuration space
294 * configuration space
295 * @get_generation: Get device config generation (optional)
311 * @set_group_asid: Set address space identifier for a
315 * @asid: address space id for this group
319 * specific DMA translation (on-chip IOMMU)
321 * @asid: address space identifier
327 * specific DMA translation (on-chip IOMMU)
330 * @asid: address space identifier
339 * specific DMA translation (on-chip IOMMU)
342 * @asid: address space identifier
353 * @asid: address space identifier
360 * @bind_mm: Bind the device to a specific address space
364 * @mm: address space to bind
365 * @unbind_mm: Unbind the device from the address space
448 const struct vdpa_config_ops *config,
454 * vdpa_alloc_device - allocate and initilaize a vDPA device
459 * @config: the bus operations that is supported by this device
467 #define vdpa_alloc_device(dev_struct, member, parent, config, ngroups, nas, \ argument
470 parent, config, ngroups, nas, \
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
576 * @config: config attributes to apply to the device under creation
588 * @config:Attributes to be set for the device.
595 const struct vdpa_dev_set_config *config);
598 const struct vdpa_dev_set_config *config);
602 * struct vdpa_mgmt_dev - vdpa management device