Lines Matching defs:vdpa_config_ops
366 struct vdpa_config_ops { struct
368 int (*set_vq_address)(struct vdpa_device *vdev,
371 void (*set_vq_num)(struct vdpa_device *vdev, u16 idx, u32 num);
372 void (*kick_vq)(struct vdpa_device *vdev, u16 idx);
373 void (*kick_vq_with_data)(struct vdpa_device *vdev, u32 data);
374 void (*set_vq_cb)(struct vdpa_device *vdev, u16 idx,
376 void (*set_vq_ready)(struct vdpa_device *vdev, u16 idx, bool ready);
377 bool (*get_vq_ready)(struct vdpa_device *vdev, u16 idx);
378 int (*set_vq_state)(struct vdpa_device *vdev, u16 idx,
380 int (*get_vq_state)(struct vdpa_device *vdev, u16 idx,
382 int (*get_vendor_vq_stats)(struct vdpa_device *vdev, u16 idx,
386 (*get_vq_notification)(struct vdpa_device *vdev, u16 idx);
388 int (*get_vq_irq)(struct vdpa_device *vdev, u16 idx);
391 u32 (*get_vq_align)(struct vdpa_device *vdev);
392 u32 (*get_vq_group)(struct vdpa_device *vdev, u16 idx);
393 u32 (*get_vq_desc_group)(struct vdpa_device *vdev, u16 idx);
394 u64 (*get_device_features)(struct vdpa_device *vdev);
395 u64 (*get_backend_features)(const struct vdpa_device *vdev);
396 int (*set_driver_features)(struct vdpa_device *vdev, u64 features);
397 u64 (*get_driver_features)(struct vdpa_device *vdev);
398 void (*set_config_cb)(struct vdpa_device *vdev,
400 u16 (*get_vq_num_max)(struct vdpa_device *vdev);
401 u16 (*get_vq_num_min)(struct vdpa_device *vdev);
402 u32 (*get_device_id)(struct vdpa_device *vdev);
403 u32 (*get_vendor_id)(struct vdpa_device *vdev);
404 u8 (*get_status)(struct vdpa_device *vdev);
405 void (*set_status)(struct vdpa_device *vdev, u8 status);
406 int (*reset)(struct vdpa_device *vdev);
407 int (*compat_reset)(struct vdpa_device *vdev, u32 flags);
409 int (*suspend)(struct vdpa_device *vdev);
410 int (*resume)(struct vdpa_device *vdev);
411 size_t (*get_config_size)(struct vdpa_device *vdev);
412 void (*get_config)(struct vdpa_device *vdev, unsigned int offset,
414 void (*set_config)(struct vdpa_device *vdev, unsigned int offset,
416 u32 (*get_generation)(struct vdpa_device *vdev);
417 struct vdpa_iova_range (*get_iova_range)(struct vdpa_device *vdev);
418 int (*set_vq_affinity)(struct vdpa_device *vdev, u16 idx,
442 const struct vdpa_config_ops *config, argument