Lines Matching full:ie

1157 static void idxd_flush_pending_descs(struct idxd_irq_entry *ie)  in idxd_flush_pending_descs()  argument
1164 spin_lock(&ie->list_lock); in idxd_flush_pending_descs()
1165 head = llist_del_all(&ie->pending_llist); in idxd_flush_pending_descs()
1168 list_add_tail(&desc->list, &ie->work_list); in idxd_flush_pending_descs()
1171 list_for_each_entry_safe(desc, itr, &ie->work_list, list) in idxd_flush_pending_descs()
1173 spin_unlock(&ie->list_lock); in idxd_flush_pending_descs()
1183 struct idxd_irq_entry *ie) in idxd_device_set_perm_entry() argument
1187 if (ie->pasid == INVALID_IOASID) in idxd_device_set_perm_entry()
1191 mperm.pasid = ie->pasid; in idxd_device_set_perm_entry()
1193 iowrite32(mperm.bits, idxd->reg_base + idxd->msix_perm_offset + ie->id * 8); in idxd_device_set_perm_entry()
1197 struct idxd_irq_entry *ie) in idxd_device_clear_perm_entry() argument
1199 iowrite32(0, idxd->reg_base + idxd->msix_perm_offset + ie->id * 8); in idxd_device_clear_perm_entry()
1205 struct idxd_irq_entry *ie = &wq->ie; in idxd_wq_free_irq() local
1210 free_irq(ie->vector, ie); in idxd_wq_free_irq()
1211 idxd_flush_pending_descs(ie); in idxd_wq_free_irq()
1213 idxd_device_release_int_handle(idxd, ie->int_handle, IDXD_IRQ_MSIX); in idxd_wq_free_irq()
1214 idxd_device_clear_perm_entry(idxd, ie); in idxd_wq_free_irq()
1215 ie->vector = -1; in idxd_wq_free_irq()
1216 ie->int_handle = INVALID_INT_HANDLE; in idxd_wq_free_irq()
1217 ie->pasid = INVALID_IOASID; in idxd_wq_free_irq()
1225 struct idxd_irq_entry *ie; in idxd_wq_request_irq() local
1231 ie = &wq->ie; in idxd_wq_request_irq()
1232 ie->vector = pci_irq_vector(pdev, ie->id); in idxd_wq_request_irq()
1233 ie->pasid = device_pasid_enabled(idxd) ? idxd->pasid : INVALID_IOASID; in idxd_wq_request_irq()
1234 idxd_device_set_perm_entry(idxd, ie); in idxd_wq_request_irq()
1236 rc = request_threaded_irq(ie->vector, NULL, idxd_wq_thread, 0, "idxd-portal", ie); in idxd_wq_request_irq()
1238 dev_err(dev, "Failed to request irq %d.\n", ie->vector); in idxd_wq_request_irq()
1243 rc = idxd_device_request_int_handle(idxd, ie->id, &ie->int_handle, in idxd_wq_request_irq()
1248 ie->int_handle = ie->id; in idxd_wq_request_irq()
1254 ie->int_handle = INVALID_INT_HANDLE; in idxd_wq_request_irq()
1255 free_irq(ie->vector, ie); in idxd_wq_request_irq()
1257 idxd_device_clear_perm_entry(idxd, ie); in idxd_wq_request_irq()
1258 ie->pasid = INVALID_IOASID; in idxd_wq_request_irq()