Lines Matching refs:vdpa_device

87 struct vdpa_device {  struct
338 int (*set_vq_address)(struct vdpa_device *vdev,
341 void (*set_vq_num)(struct vdpa_device *vdev, u16 idx, u32 num);
342 void (*kick_vq)(struct vdpa_device *vdev, u16 idx);
343 void (*kick_vq_with_data)(struct vdpa_device *vdev, u32 data);
344 void (*set_vq_cb)(struct vdpa_device *vdev, u16 idx,
346 void (*set_vq_ready)(struct vdpa_device *vdev, u16 idx, bool ready);
347 bool (*get_vq_ready)(struct vdpa_device *vdev, u16 idx);
348 int (*set_vq_state)(struct vdpa_device *vdev, u16 idx,
350 int (*get_vq_state)(struct vdpa_device *vdev, u16 idx,
352 int (*get_vendor_vq_stats)(struct vdpa_device *vdev, u16 idx,
356 (*get_vq_notification)(struct vdpa_device *vdev, u16 idx);
358 int (*get_vq_irq)(struct vdpa_device *vdev, u16 idx);
361 u32 (*get_vq_align)(struct vdpa_device *vdev);
362 u32 (*get_vq_group)(struct vdpa_device *vdev, u16 idx);
363 u64 (*get_device_features)(struct vdpa_device *vdev);
364 u64 (*get_backend_features)(const struct vdpa_device *vdev);
365 int (*set_driver_features)(struct vdpa_device *vdev, u64 features);
366 u64 (*get_driver_features)(struct vdpa_device *vdev);
367 void (*set_config_cb)(struct vdpa_device *vdev,
369 u16 (*get_vq_num_max)(struct vdpa_device *vdev);
370 u16 (*get_vq_num_min)(struct vdpa_device *vdev);
371 u32 (*get_device_id)(struct vdpa_device *vdev);
372 u32 (*get_vendor_id)(struct vdpa_device *vdev);
373 u8 (*get_status)(struct vdpa_device *vdev);
374 void (*set_status)(struct vdpa_device *vdev, u8 status);
375 int (*reset)(struct vdpa_device *vdev);
376 int (*suspend)(struct vdpa_device *vdev);
377 int (*resume)(struct vdpa_device *vdev);
378 size_t (*get_config_size)(struct vdpa_device *vdev);
379 void (*get_config)(struct vdpa_device *vdev, unsigned int offset,
381 void (*set_config)(struct vdpa_device *vdev, unsigned int offset,
383 u32 (*get_generation)(struct vdpa_device *vdev);
384 struct vdpa_iova_range (*get_iova_range)(struct vdpa_device *vdev);
385 int (*set_vq_affinity)(struct vdpa_device *vdev, u16 idx,
387 const struct cpumask *(*get_vq_affinity)(struct vdpa_device *vdev,
391 int (*set_map)(struct vdpa_device *vdev, unsigned int asid,
393 int (*dma_map)(struct vdpa_device *vdev, unsigned int asid,
395 int (*dma_unmap)(struct vdpa_device *vdev, unsigned int asid,
397 int (*set_group_asid)(struct vdpa_device *vdev, unsigned int group,
399 struct device *(*get_vq_dma_dev)(struct vdpa_device *vdev, u16 idx);
400 int (*bind_mm)(struct vdpa_device *vdev, struct mm_struct *mm);
401 void (*unbind_mm)(struct vdpa_device *vdev);
404 void (*free)(struct vdpa_device *vdev);
407 struct vdpa_device *__vdpa_alloc_device(struct device *parent,
436 int vdpa_register_device(struct vdpa_device *vdev, u32 nvqs);
437 void vdpa_unregister_device(struct vdpa_device *vdev);
439 int _vdpa_register_device(struct vdpa_device *vdev, u32 nvqs);
440 void _vdpa_unregister_device(struct vdpa_device *vdev);
450 int (*probe)(struct vdpa_device *vdev);
451 void (*remove)(struct vdpa_device *vdev);
468 static inline struct vdpa_device *dev_to_vdpa(struct device *_dev) in dev_to_vdpa()
470 return container_of(_dev, struct vdpa_device, dev); in dev_to_vdpa()
473 static inline void *vdpa_get_drvdata(const struct vdpa_device *vdev) in vdpa_get_drvdata()
478 static inline void vdpa_set_drvdata(struct vdpa_device *vdev, void *data) in vdpa_set_drvdata()
483 static inline struct device *vdpa_get_dma_dev(struct vdpa_device *vdev) in vdpa_get_dma_dev()
488 static inline int vdpa_reset(struct vdpa_device *vdev) in vdpa_reset()
500 static inline int vdpa_set_features_unlocked(struct vdpa_device *vdev, u64 features) in vdpa_set_features_unlocked()
511 static inline int vdpa_set_features(struct vdpa_device *vdev, u64 features) in vdpa_set_features()
522 void vdpa_get_config(struct vdpa_device *vdev, unsigned int offset,
524 void vdpa_set_config(struct vdpa_device *dev, unsigned int offset,
526 void vdpa_set_status(struct vdpa_device *vdev, u8 status);
546 void (*dev_del)(struct vdpa_mgmt_dev *mdev, struct vdpa_device *dev);