Lines Matching refs:idxd

122 	struct idxd_device *idxd = wq->idxd;  in idxd_file_dev_release()  local
129 idxd_device_drain_pasid(idxd, ctx->pasid); in idxd_file_dev_release()
131 if (device_user_pasid_enabled(idxd)) { in idxd_file_dev_release()
164 cdev_ctx = &ictx[wq->idxd->data->type]; in idxd_cdev_dev_release()
196 dev_warn(&wq->idxd->pdev->dev, "xarray cmpxchg failed for pasid %u\n", in idxd_xa_pasid_remove()
221 struct idxd_device *idxd; in idxd_cdev_open() local
230 idxd = wq->idxd; in idxd_cdev_open()
231 dev = &idxd->pdev->dev; in idxd_cdev_open()
250 if (device_user_pasid_enabled(idxd)) { in idxd_cdev_open()
317 if (device_user_pasid_enabled(idxd)) in idxd_cdev_open()
320 if (device_user_pasid_enabled(idxd) && !IS_ERR_OR_NULL(sva)) in idxd_cdev_open()
330 struct idxd_device *idxd = wq->idxd; in idxd_cdev_evl_drain_pasid() local
331 struct idxd_evl *evl = idxd->evl; in idxd_cdev_evl_drain_pasid()
334 int ent_size = evl_ent_size(idxd); in idxd_cdev_evl_drain_pasid()
341 status.bits = ioread64(idxd->reg_base + IDXD_EVLSTATUS_OFFSET); in idxd_cdev_evl_drain_pasid()
360 struct idxd_device *idxd = wq->idxd; in idxd_cdev_release() local
361 struct device *dev = &idxd->pdev->dev; in idxd_cdev_release()
374 struct device *dev = &wq->idxd->pdev->dev; in check_vma()
391 struct idxd_device *idxd = wq->idxd; in idxd_cdev_mmap() local
392 struct pci_dev *pdev = idxd->pdev; in idxd_cdev_mmap()
407 if (!idxd->user_submission_safe && !capable(CAP_SYS_RAWIO)) in idxd_cdev_mmap()
431 struct idxd_dev *idxd_dev = &wq->idxd->idxd_dev; in idxd_submit_user_descriptor()
448 !wq->idxd->user_submission_safe) in idxd_submit_user_descriptor()
499 struct idxd_device *idxd = wq->idxd; in idxd_cdev_poll() local
506 spin_lock(&idxd->dev_lock); in idxd_cdev_poll()
507 if (idxd->sw_err.valid) in idxd_cdev_poll()
509 spin_unlock(&idxd->dev_lock); in idxd_cdev_poll()
523 int idxd_cdev_get_major(struct idxd_device *idxd) in idxd_cdev_get_major() argument
525 return MAJOR(ictx[idxd->data->type].devt); in idxd_cdev_get_major()
530 struct idxd_device *idxd = wq->idxd; in idxd_wq_add_cdev() local
545 cdev_ctx = &ictx[wq->idxd->data->type]; in idxd_wq_add_cdev()
559 rc = dev_set_name(dev, "%s/wq%u.%u", idxd->data->name_prefix, idxd->id, wq->id); in idxd_wq_add_cdev()
567 dev_dbg(&wq->idxd->pdev->dev, "cdev_add failed: %d\n", rc); in idxd_wq_add_cdev()
593 struct idxd_device *idxd = wq->idxd; in idxd_user_drv_probe() local
596 if (idxd->state != IDXD_DEV_ENABLED) in idxd_user_drv_probe()
602 idxd->cmd_status = IDXD_SCMD_WQ_NO_DRV_NAME; in idxd_user_drv_probe()
617 if (!device_user_pasid_enabled(idxd)) { in idxd_user_drv_probe()
618 idxd->cmd_status = IDXD_SCMD_WQ_USER_NO_IOMMU; in idxd_user_drv_probe()
619 dev_dbg(&idxd->pdev->dev, in idxd_user_drv_probe()
639 idxd->cmd_status = IDXD_SCMD_CDEV_ERR; in idxd_user_drv_probe()
643 idxd->cmd_status = 0; in idxd_user_drv_probe()
730 struct device *dev = &wq->idxd->pdev->dev; in idxd_copy_cr()