Lines Matching refs:pasid
45 unsigned int pasid;
55 static void idxd_cdev_evl_drain_pasid(struct idxd_wq *wq, u32 pasid);
132 idxd_device_drain_pasid(idxd, ctx->pasid);
135 /* The wq disable in the disable pasid function will drain the wq */
138 dev_err(dev, "wq disable pasid failed.\n");
145 idxd_cdev_evl_drain_pasid(wq, ctx->pasid);
197 ptr = xa_cmpxchg(&wq->upasid_xa, ctx->pasid, ctx, NULL, GFP_KERNEL);
199 dev_warn(&wq->idxd->pdev->dev, "xarray cmpxchg failed for pasid %u\n",
200 ctx->pasid);
204 void idxd_user_counter_increment(struct idxd_wq *wq, u32 pasid, int index)
212 ctx = xa_load(&wq->upasid_xa, pasid);
229 unsigned int pasid;
257 dev_err(dev, "pasid allocation failed: %d\n", rc);
261 pasid = iommu_sva_get_pasid(sva);
262 if (pasid == IOMMU_PASID_INVALID) {
268 ctx->pasid = pasid;
272 rc = xa_insert(&wq->upasid_xa, pasid, ctx, GFP_KERNEL);
278 rc = idxd_wq_set_pasid(wq, pasid);
280 dev_err(dev, "wq set pasid failed: %d\n", rc);
333 static void idxd_cdev_evl_drain_pasid(struct idxd_wq *wq, u32 pasid)
353 if (entry_head->pasid == pasid && entry_head->wq_idx == wq->id)
638 * @pasid: PASID
647 int idxd_copy_cr(struct idxd_wq *wq, ioasid_t pasid, unsigned long addr,
657 ctx = xa_load(&wq->upasid_xa, pasid);