Lines Matching full:device

6 #include <linux/device.h>
42 * @last_avail_counter: last driver ring wrap counter observed by device
43 * @last_avail_idx: device available index
44 * @last_used_counter: device ring wrap counter
64 * struct vdpa_device - representation of a vDPA device
65 * @dev: underlying device
66 * @dma_dev: the actual device that is performing DMA
70 * @config: the configuration ops for this device.
72 * @index: device index
76 * @use_va: indicate whether virtual address must be used by this device
78 * @mdev: management device pointer; caller must setup when registering device as part
82 struct device dev;
83 struct device *dma_dev;
97 * struct vdpa_iova_range - the IOVA range support by the device
117 * Corresponding file area for device memory mapping
127 * struct vdpa_config_ops - operations for configuring a vDPA device.
128 * Note: vDPA device drivers are required to implement all of the
133 * @vdev: vdpa device
137 * @device_area: address of device area
140 * @vdev: vdpa device
144 * @vdev: vdpa device
148 * @vdev: vdpa device
152 * @vdev: vdpa device
156 * @vdev: vdpa device
160 * @vdev: vdpa device
165 * @vdev: vdpa device
169 * @vdev: vdpa device
174 * @vdev: vdpa device
179 * for the device
180 * @vdev: vdpa device
184 * @vdev: vdpa device
187 * @get_device_features: Get virtio features supported by the device
188 * @vdev: vdpa device
190 * device
192 * @vdev: vdpa device
196 * @vdev: vdpa device
199 * @vdev: vdpa device
202 * @vdev: vdpa device
205 * @vdev: vdpa device
207 * @get_device_id: Get virtio device id
208 * @vdev: vdpa device
209 * Returns u32: virtio device id
210 * @get_vendor_id: Get id for the vendor that provides this device
211 * @vdev: vdpa device
213 * @get_status: Get the device status
214 * @vdev: vdpa device
215 * Returns u8: virtio device status
216 * @set_status: Set the device status
217 * @vdev: vdpa device
218 * @status: virtio device status
219 * @reset: Reset device
220 * @vdev: vdpa device
222 * @suspend: Suspend or resume the device (optional)
223 * @vdev: vdpa device
227 * @vdev: vdpa device
229 * @get_config: Read from device specific configuration space
230 * @vdev: vdpa device
236 * @set_config: Write to device specific configuration space
237 * @vdev: vdpa device
243 * @get_generation: Get device config generation (optional)
244 * @vdev: vdpa device
245 * Returns u32: device generation
247 * @vdev: vdpa device
249 * the device.
252 * @vdev: vdpa device
256 * @set_map: Set device memory mapping (optional)
257 * Needed for device that using device
259 * @vdev: vdpa device
265 * Needed for device that using device
268 * @vdev: vdpa device
273 * @perm: device access permission (VHOST_MAP_XX)
277 * Needed for device that using device
280 * @vdev: vdpa device
286 * @vdev: vdpa device
311 /* Device ops */
345 /* Free device resources */
349 struct vdpa_device *__vdpa_alloc_device(struct device *parent,
356 * vdpa_alloc_device - allocate and initilaize a vDPA device
360 * @parent: the parent device
361 * @config: the bus operations that is supported by this device
362 * @ngroups: the number of virtqueue groups supported by this device
364 * @name: name of the vdpa device
365 * @use_va: indicate whether virtual address must be used by this device
386 * @driver: underlying device driver
387 * @probe: the function to call when a device is found. Returns 0 or -errno.
388 * @remove: the function to call when a device is removed.
410 static inline struct vdpa_device *dev_to_vdpa(struct device *_dev) in dev_to_vdpa()
425 static inline struct device *vdpa_get_dma_dev(struct vdpa_device *vdev) in vdpa_get_dma_dev()
471 * struct vdpa_mgmtdev_ops - vdpa device ops
472 * @dev_add: Add a vdpa device using alloc and register
473 * @mdev: parent device to use for device addition
474 * @name: name of the new vdpa device
475 * @config: config attributes to apply to the device under creation
476 * Driver need to add a new device using _vdpa_register_device()
477 * after fully initializing the vdpa device. Driver must return 0
479 * @dev_del: Remove a vdpa device using unregister
480 * @mdev: parent device to use for device removal
481 * @dev: vdpa device to remove
482 * Driver need to remove the specified device by calling
492 * struct vdpa_mgmt_dev - vdpa management device
493 * @device: Management parent device
494 * @ops: operations supported by management device
495 * @id_table: Pointer to device id table of supported ids
497 * management device support during dev_add callback
501 struct device *device; member