Lines Matching refs:idxd_dev
25 struct idxd_dev;
39 struct idxd_dev {
63 int (*probe)(struct idxd_dev *idxd_dev);
64 void (*remove)(struct idxd_dev *idxd_dev);
89 struct idxd_dev idxd_dev;
158 struct idxd_dev idxd_dev;
193 struct idxd_dev idxd_dev;
233 struct idxd_dev idxd_dev;
303 struct idxd_dev idxd_dev;
404 #define idxd_confdev(idxd) &idxd->idxd_dev.conf_dev
405 #define wq_confdev(wq) &wq->idxd_dev.conf_dev
406 #define engine_confdev(engine) &engine->idxd_dev.conf_dev
407 #define group_confdev(group) &group->idxd_dev.conf_dev
408 #define cdev_dev(cdev) &cdev->idxd_dev.conf_dev
409 #define user_ctx_dev(ctx) (&(ctx)->idxd_dev.conf_dev)
411 #define confdev_to_idxd_dev(dev) container_of(dev, struct idxd_dev, conf_dev)
412 #define idxd_dev_to_idxd(idxd_dev) container_of(idxd_dev, struct idxd_device, idxd_dev)
413 #define idxd_dev_to_wq(idxd_dev) container_of(idxd_dev, struct idxd_wq, idxd_dev)
417 struct idxd_dev *idxd_dev = confdev_to_idxd_dev(dev);
419 return idxd_dev_to_idxd(idxd_dev);
424 struct idxd_dev *idxd_dev = confdev_to_idxd_dev(dev);
426 return idxd_dev_to_wq(idxd_dev);
431 struct idxd_dev *idxd_dev = confdev_to_idxd_dev(dev);
433 return container_of(idxd_dev, struct idxd_engine, idxd_dev);
438 struct idxd_dev *idxd_dev = confdev_to_idxd_dev(dev);
440 return container_of(idxd_dev, struct idxd_group, idxd_dev);
445 struct idxd_dev *idxd_dev = confdev_to_idxd_dev(dev);
447 return container_of(idxd_dev, struct idxd_cdev, idxd_dev);
450 static inline void idxd_dev_set_type(struct idxd_dev *idev, int type)
494 static inline bool is_dsa_dev(struct idxd_dev *idxd_dev)
496 return idxd_dev->type == IDXD_DEV_DSA;
499 static inline bool is_iax_dev(struct idxd_dev *idxd_dev)
501 return idxd_dev->type == IDXD_DEV_IAX;
504 static inline bool is_idxd_dev(struct idxd_dev *idxd_dev)
506 return is_dsa_dev(idxd_dev) || is_iax_dev(idxd_dev);
509 static inline bool is_idxd_wq_dev(struct idxd_dev *idxd_dev)
511 return idxd_dev->type == IDXD_DEV_WQ;
673 int idxd_device_drv_probe(struct idxd_dev *idxd_dev);
674 void idxd_device_drv_remove(struct idxd_dev *idxd_dev);