Lines Matching defs:idxd_device
263 struct idxd_device { struct
268 enum idxd_device_state state; argument
269 unsigned long flags;
270 int id;
271 int major;
272 u32 cmd_status;
273 struct idxd_irq_entry ie; /* misc irq, msix 0 */
275 struct pci_dev *pdev;
276 void __iomem *reg_base;
278 spinlock_t dev_lock; /* spinlock for device */
279 spinlock_t cmd_lock; /* spinlock for device commands */
280 struct completion *cmd_done;
281 struct idxd_group **groups;
282 struct idxd_wq **wqs;
283 struct idxd_engine **engines;
285 struct iommu_sva *sva;
286 unsigned int pasid;
288 int num_groups;
289 int irq_cnt;
290 bool request_int_handles;
292 u32 msix_perm_offset;
293 u32 wqcfg_offset;
294 u32 grpcfg_offset;
295 u32 perfmon_offset;
297 u64 max_xfer_bytes;
298 u32 max_batch_size;
299 int max_groups;
300 int max_engines;
301 int max_rdbufs;
302 int max_wqs;
303 int max_wq_size;
304 int rdbuf_limit;
305 int nr_rdbufs; /* non-reserved read buffers */
306 unsigned int wqcfg_size;
307 unsigned long *wq_enable_map;
309 union sw_err_reg sw_err;
310 wait_queue_head_t cmd_waitq;
312 struct idxd_dma_dev *idxd_dma;
313 struct workqueue_struct *wq;
314 struct work_struct work;
316 struct idxd_pmu *idxd_pmu;
318 unsigned long *opcap_bmap;