Lines Matching full:device

6 #include <linux/device.h>
48 * @last_avail_counter: last driver ring wrap counter observed by device
49 * @last_avail_idx: device available index
50 * @last_used_counter: device ring wrap counter
70 * struct vdpa_device - representation of a vDPA device
71 * @dev: underlying device
72 * @dma_dev: the actual device that is performing DMA
76 * @config: the configuration ops for this device.
78 * @index: device index
82 * @use_va: indicate whether virtual address must be used by this device
84 * @mdev: management device pointer; caller must setup when registering device as part
88 struct device dev;
89 struct device *dma_dev;
103 * struct vdpa_iova_range - the IOVA range support by the device
123 * struct vdpa_map_file - file area for device memory mapping
133 * struct vdpa_config_ops - operations for configuring a vDPA device.
134 * Note: vDPA device drivers are required to implement all of the
139 * @vdev: vdpa device
143 * @device_area: address of device area
146 * @vdev: vdpa device
150 * @vdev: vdpa device
154 * @vdev: vdpa device
162 * @vdev: vdpa device
166 * @vdev: vdpa device
170 * @vdev: vdpa device
174 * @vdev: vdpa device
179 * @vdev: vdpa device
182 * @get_vendor_vq_stats: Get the vendor statistics of a device.
183 * @vdev: vdpa device
189 * @vdev: vdpa device
194 * @vdev: vdpa device
199 * for the device
200 * @vdev: vdpa device
204 * @vdev: vdpa device
207 * @get_device_features: Get virtio features supported by the device
208 * @vdev: vdpa device
210 * device
213 * device.
215 * @vdev: vdpa device
219 * @vdev: vdpa device
222 * @vdev: vdpa device
225 * @vdev: vdpa device
228 * @vdev: vdpa device
230 * @get_device_id: Get virtio device id
231 * @vdev: vdpa device
232 * Returns u32: virtio device id
233 * @get_vendor_id: Get id for the vendor that provides this device
234 * @vdev: vdpa device
236 * @get_status: Get the device status
237 * @vdev: vdpa device
238 * Returns u8: virtio device status
239 * @set_status: Set the device status
240 * @vdev: vdpa device
241 * @status: virtio device status
242 * @reset: Reset device
243 * @vdev: vdpa device
245 * @suspend: Suspend the device (optional)
246 * @vdev: vdpa device
248 * @resume: Resume the device (optional)
249 * @vdev: vdpa device
253 * @vdev: vdpa device
255 * @get_config: Read from device specific configuration space
256 * @vdev: vdpa device
262 * @set_config: Write to device specific configuration space
263 * @vdev: vdpa device
269 * @get_generation: Get device config generation (optional)
270 * @vdev: vdpa device
271 * Returns u32: device generation
273 * @vdev: vdpa device
275 * the device.
277 * @vdev: vdpa device
282 * @vdev: vdpa device
287 * @vdev: vdpa device
291 * @set_map: Set device memory mapping (optional)
292 * Needed for device that using device
294 * @vdev: vdpa device
300 * Needed for device that using device
303 * @vdev: vdpa device
308 * @perm: device access permission (VHOST_MAP_XX)
312 * Needed for device that using device
315 * @vdev: vdpa device
320 * @get_vq_dma_dev: Get the dma device for a specific
322 * @vdev: vdpa device
324 * Returns pointer to structure device or error (NULL)
325 * @bind_mm: Bind the device to a specific address space
328 * @vdev: vdpa device
330 * @unbind_mm: Unbind the device from the address space
332 * @vdev: vdpa device
334 * @vdev: vdpa device
360 /* Device ops */
399 struct device *(*get_vq_dma_dev)(struct vdpa_device *vdev, u16 idx);
403 /* Free device resources */
407 struct vdpa_device *__vdpa_alloc_device(struct device *parent,
414 * vdpa_alloc_device - allocate and initilaize a vDPA device
418 * @parent: the parent device
419 * @config: the bus operations that is supported by this device
420 * @ngroups: the number of virtqueue groups supported by this device
422 * @name: name of the vdpa device
423 * @use_va: indicate whether virtual address must be used by this device
444 * @driver: underlying device driver
445 * @probe: the function to call when a device is found. Returns 0 or -errno.
446 * @remove: the function to call when a device is removed.
468 static inline struct vdpa_device *dev_to_vdpa(struct device *_dev) in dev_to_vdpa()
483 static inline struct device *vdpa_get_dma_dev(struct vdpa_device *vdev) in vdpa_get_dma_dev()
529 * struct vdpa_mgmtdev_ops - vdpa device ops
530 * @dev_add: Add a vdpa device using alloc and register
531 * @mdev: parent device to use for device addition
532 * @name: name of the new vdpa device
533 * @config: config attributes to apply to the device under creation
534 * Driver need to add a new device using _vdpa_register_device()
535 * after fully initializing the vdpa device. Driver must return 0
537 * @dev_del: Remove a vdpa device using unregister
538 * @mdev: parent device to use for device removal
539 * @dev: vdpa device to remove
540 * Driver need to remove the specified device by calling
550 * struct vdpa_mgmt_dev - vdpa management device
551 * @device: Management parent device
552 * @ops: operations supported by management device
553 * @id_table: Pointer to device id table of supported ids
555 * management device support during dev_add callback
557 * @supported_features: features supported by device
558 * @max_supported_vqs: maximum number of virtqueues supported by device
561 struct device *device; member