Lines Matching refs:irq_entry
154 struct idxd_irq_entry *irq_entry = data; in idxd_misc_thread() local
155 struct idxd_device *idxd = irq_entry->idxd; in idxd_misc_thread()
175 static void irq_process_pending_llist(struct idxd_irq_entry *irq_entry) in irq_process_pending_llist() argument
180 head = llist_del_all(&irq_entry->pending_llist); in irq_process_pending_llist()
199 spin_lock(&irq_entry->list_lock); in irq_process_pending_llist()
201 &irq_entry->work_list); in irq_process_pending_llist()
202 spin_unlock(&irq_entry->list_lock); in irq_process_pending_llist()
207 static void irq_process_work_list(struct idxd_irq_entry *irq_entry) in irq_process_work_list() argument
216 spin_lock(&irq_entry->list_lock); in irq_process_work_list()
217 if (list_empty(&irq_entry->work_list)) { in irq_process_work_list()
218 spin_unlock(&irq_entry->list_lock); in irq_process_work_list()
222 list_for_each_entry_safe(desc, n, &irq_entry->work_list, list) { in irq_process_work_list()
229 spin_unlock(&irq_entry->list_lock); in irq_process_work_list()
247 struct idxd_irq_entry *irq_entry = data; in idxd_wq_thread() local
267 irq_process_work_list(irq_entry); in idxd_wq_thread()
268 irq_process_pending_llist(irq_entry); in idxd_wq_thread()