Lines Matching refs:ie

1249 static void idxd_flush_pending_descs(struct idxd_irq_entry *ie)
1256 spin_lock(&ie->list_lock);
1257 head = llist_del_all(&ie->pending_llist);
1260 list_add_tail(&desc->list, &ie->work_list);
1263 list_for_each_entry_safe(desc, itr, &ie->work_list, list)
1265 spin_unlock(&ie->list_lock);
1286 struct idxd_irq_entry *ie)
1290 if (ie->pasid == IOMMU_PASID_INVALID)
1294 mperm.pasid = ie->pasid;
1296 iowrite32(mperm.bits, idxd->reg_base + idxd->msix_perm_offset + ie->id * 8);
1300 struct idxd_irq_entry *ie)
1302 iowrite32(0, idxd->reg_base + idxd->msix_perm_offset + ie->id * 8);
1308 struct idxd_irq_entry *ie = &wq->ie;
1313 free_irq(ie->vector, ie);
1314 idxd_flush_pending_descs(ie);
1316 idxd_device_release_int_handle(idxd, ie->int_handle, IDXD_IRQ_MSIX);
1317 idxd_device_clear_perm_entry(idxd, ie);
1318 ie->vector = -1;
1319 ie->int_handle = INVALID_INT_HANDLE;
1320 ie->pasid = IOMMU_PASID_INVALID;
1328 struct idxd_irq_entry *ie;
1334 ie = &wq->ie;
1335 ie->vector = pci_irq_vector(pdev, ie->id);
1336 ie->pasid = device_pasid_enabled(idxd) ? idxd->pasid : IOMMU_PASID_INVALID;
1337 idxd_device_set_perm_entry(idxd, ie);
1339 rc = request_threaded_irq(ie->vector, NULL, idxd_wq_thread, 0, "idxd-portal", ie);
1341 dev_err(dev, "Failed to request irq %d.\n", ie->vector);
1346 rc = idxd_device_request_int_handle(idxd, ie->id, &ie->int_handle,
1351 ie->int_handle = ie->id;
1357 ie->int_handle = INVALID_INT_HANDLE;
1358 free_irq(ie->vector, ie);
1360 idxd_device_clear_perm_entry(idxd, ie);
1361 ie->pasid = IOMMU_PASID_INVALID;