Lines Matching full:device
6 #include <linux/device.h>
40 * @last_avail_counter: last driver ring wrap counter observed by device
41 * @last_avail_idx: device available index
42 * @last_used_counter: device ring wrap counter
62 * struct vdpa_device - representation of a vDPA device
63 * @dev: underlying device
64 * @dma_dev: the actual device that is performing DMA
65 * @config: the configuration ops for this device.
66 * @index: device index
68 * @use_va: indicate whether virtual address must be used by this device
70 * @mdev: management device pointer; caller must setup when registering device as part
74 struct device dev;
75 struct device *dma_dev;
85 * struct vdpa_iova_range - the IOVA range support by the device
95 * Corresponding file area for device memory mapping
105 * struct vdpa_config_ops - operations for configuring a vDPA device.
106 * Note: vDPA device drivers are required to implement all of the
111 * @vdev: vdpa device
115 * @device_area: address of device area
118 * @vdev: vdpa device
122 * @vdev: vdpa device
126 * @vdev: vdpa device
130 * @vdev: vdpa device
134 * @vdev: vdpa device
138 * @vdev: vdpa device
143 * @vdev: vdpa device
147 * @vdev: vdpa device
152 * @vdev: vdpa device
157 * for the device
158 * @vdev: vdpa device
160 * @get_features: Get virtio features supported by the device
161 * @vdev: vdpa device
163 * device
165 * @vdev: vdpa device
169 * @vdev: vdpa device
172 * @vdev: vdpa device
174 * @get_device_id: Get virtio device id
175 * @vdev: vdpa device
176 * Returns u32: virtio device id
177 * @get_vendor_id: Get id for the vendor that provides this device
178 * @vdev: vdpa device
180 * @get_status: Get the device status
181 * @vdev: vdpa device
182 * Returns u8: virtio device status
183 * @set_status: Set the device status
184 * @vdev: vdpa device
185 * @status: virtio device status
186 * @reset: Reset device
187 * @vdev: vdpa device
190 * @vdev: vdpa device
192 * @get_config: Read from device specific configuration space
193 * @vdev: vdpa device
199 * @set_config: Write to device specific configuration space
200 * @vdev: vdpa device
206 * @get_generation: Get device config generation (optional)
207 * @vdev: vdpa device
208 * Returns u32: device generation
210 * @vdev: vdpa device
212 * the device.
213 * @set_map: Set device memory mapping (optional)
214 * Needed for device that using device
216 * @vdev: vdpa device
221 * Needed for device that using device
224 * @vdev: vdpa device
228 * @perm: device access permission (VHOST_MAP_XX)
232 * Needed for device that using device
235 * @vdev: vdpa device
240 * @vdev: vdpa device
262 /* Device ops */
288 /* Free device resources */
292 struct vdpa_device *__vdpa_alloc_device(struct device *parent,
298 * vdpa_alloc_device - allocate and initilaize a vDPA device
302 * @parent: the parent device
303 * @config: the bus operations that is supported by this device
304 * @name: name of the vdpa device
305 * @use_va: indicate whether virtual address must be used by this device
325 * @driver: underlying device driver
326 * @probe: the function to call when a device is found. Returns 0 or -errno.
327 * @remove: the function to call when a device is removed.
349 static inline struct vdpa_device *dev_to_vdpa(struct device *_dev) in dev_to_vdpa()
364 static inline struct device *vdpa_get_dma_dev(struct vdpa_device *vdev) in vdpa_get_dma_dev()
401 * struct vdpa_mgmtdev_ops - vdpa device ops
402 * @dev_add: Add a vdpa device using alloc and register
403 * @mdev: parent device to use for device addition
404 * @name: name of the new vdpa device
405 * Driver need to add a new device using _vdpa_register_device()
406 * after fully initializing the vdpa device. Driver must return 0
408 * @dev_del: Remove a vdpa device using unregister
409 * @mdev: parent device to use for device removal
410 * @dev: vdpa device to remove
411 * Driver need to remove the specified device by calling
420 struct device *device; member