Lines Matching defs:idxd

16 #include <uapi/linux/idxd.h>
90 struct idxd_device *idxd;
105 struct idxd_device *idxd;
197 struct idxd_device *idxd;
236 struct idxd_device *idxd;
265 struct idxd_device *idxd;
365 static inline unsigned int evl_ent_size(struct idxd_device *idxd)
367 return idxd->hw.gen_cap.evl_support ?
368 (32 * (1 << idxd->hw.gen_cap.evl_support)) : 0;
371 static inline unsigned int evl_size(struct idxd_device *idxd)
373 return idxd->evl->size * evl_ent_size(idxd);
404 #define idxd_confdev(idxd) &idxd->idxd_dev.conf_dev
460 static inline struct idxd_irq_entry *idxd_get_ie(struct idxd_device *idxd, int idx)
462 return (idx == 0) ? &idxd->ie : &idxd->wqs[idx - 1]->ie;
475 static inline void idxd_set_user_intr(struct idxd_device *idxd, bool enable)
479 reg.bits = ioread32(idxd->reg_base + IDXD_GENCFG_OFFSET);
481 iowrite32(reg.bits, idxd->reg_base + IDXD_GENCFG_OFFSET);
541 static inline bool device_pasid_enabled(struct idxd_device *idxd)
543 return test_bit(IDXD_FLAG_PASID_ENABLED, &idxd->flags);
546 static inline bool device_user_pasid_enabled(struct idxd_device *idxd)
548 return test_bit(IDXD_FLAG_USER_PASID_ENABLED, &idxd->flags);
553 return (is_idxd_wq_kernel(wq) && device_pasid_enabled(wq->idxd)) ||
554 (is_idxd_wq_user(wq) && device_user_pasid_enabled(wq->idxd));
621 static inline void idxd_set_max_batch_size(int idxd_type, struct idxd_device *idxd,
625 idxd->max_batch_size = 0;
627 idxd->max_batch_size = max_batch_size;
660 int idxd_register_devices(struct idxd_device *idxd);
661 void idxd_unregister_devices(struct idxd_device *idxd);
662 void idxd_wqs_quiesce(struct idxd_device *idxd);
669 void idxd_mask_error_interrupts(struct idxd_device *idxd);
670 void idxd_unmask_error_interrupts(struct idxd_device *idxd);
677 int idxd_device_init_reset(struct idxd_device *idxd);
678 int idxd_device_enable(struct idxd_device *idxd);
679 int idxd_device_disable(struct idxd_device *idxd);
680 void idxd_device_reset(struct idxd_device *idxd);
681 void idxd_device_clear_state(struct idxd_device *idxd);
682 int idxd_device_config(struct idxd_device *idxd);
683 void idxd_device_drain_pasid(struct idxd_device *idxd, int pasid);
684 int idxd_device_load_config(struct idxd_device *idxd);
685 int idxd_device_request_int_handle(struct idxd_device *idxd, int idx, int *handle,
687 int idxd_device_release_int_handle(struct idxd_device *idxd, int handle,
691 void idxd_wqs_unmap_portal(struct idxd_device *idxd);
715 int idxd_register_dma_device(struct idxd_device *idxd);
716 void idxd_unregister_dma_device(struct idxd_device *idxd);
723 int idxd_cdev_get_major(struct idxd_device *idxd);
732 int perfmon_pmu_init(struct idxd_device *idxd);
733 void perfmon_pmu_remove(struct idxd_device *idxd);
734 void perfmon_counter_overflow(struct idxd_device *idxd);
738 static inline int perfmon_pmu_init(struct idxd_device *idxd) { return 0; }
739 static inline void perfmon_pmu_remove(struct idxd_device *idxd) {}
740 static inline void perfmon_counter_overflow(struct idxd_device *idxd) {}
746 int idxd_device_init_debugfs(struct idxd_device *idxd);
747 void idxd_device_remove_debugfs(struct idxd_device *idxd);