irq_entry
struct kvm_kernel_irq_routing_entry *irq_entry = &irqfd->irq_entry;
if (irq_entry->type != KVM_IRQ_ROUTING_MSI)
&irqfd->irq_entry);
struct kvm_kernel_irq_routing_entry *irq_entry = &irqfd->irq_entry;
if (irq_entry->type != KVM_IRQ_ROUTING_MSI)
struct kvm_kernel_irq_routing_entry *irq_entry)
.address_lo = irq_entry->msi.address_lo,
.address_hi = irq_entry->msi.address_hi,
.data = irq_entry->msi.data,
.flags = irq_entry->msi.flags,
.devid = irq_entry->msi.devid,
struct kvm_kernel_irq_routing_entry *irq_entry)
its = vgic_get_its(kvm, irq_entry);
if (vgic_its_resolve_lpi(kvm, its, irq_entry->msi.devid,
irq_entry->msi.data, &irq))
DEFINE_EVENT(ppc64_interrupt_class, irq_entry,
int kvm_arch_set_irq_inatomic(struct kvm_kernel_irq_routing_entry *irq_entry,
return kvm_set_irq(kvm, irq_source_id, irq_entry->gsi,
static bool irq_do_timetravel_handler(struct irq_entry *entry,
struct irq_entry *entry;
static bool irq_do_timetravel_handler(struct irq_entry *entry,
static void sigio_reg_handler(int idx, struct irq_entry *entry, enum um_irq_type t,
struct irq_entry *irq_entry;
irq_entry = os_epoll_get_data_pointer(i);
sigio_reg_handler(i, irq_entry, t, regs,
static struct irq_entry *get_irq_entry_by_fd(int fd)
struct irq_entry *walk;
static void remove_irq_entry(struct irq_entry *to_free, bool remove)
static bool update_irq_entry(struct irq_entry *entry)
static struct irq_entry *update_or_remove_irq_entry(struct irq_entry *entry)
struct irq_entry *irq_entry, *to_free = NULL;
irq_entry = get_irq_entry_by_fd(fd);
if (irq_entry) {
if (WARN_ON(irq_entry->reg[type].events)) {
struct irq_entry *new;
new = kzalloc_obj(*irq_entry, GFP_ATOMIC);
irq_entry = get_irq_entry_by_fd(fd);
if (irq_entry) {
irq_entry = new;
irq_entry->fd = fd;
list_add_tail(&irq_entry->list, &active_fds);
irq_entry->reg[type].id = dev_id;
irq_entry->reg[type].irq = irq;
irq_entry->reg[type].active = true;
irq_entry->reg[type].events = events;
irq_entry->reg[type].timetravel_handler = timetravel_handler;
irq_entry->reg[type].event.fn = irq_event_handler;
WARN_ON(!update_irq_entry(irq_entry));
struct irq_entry *to_free;
struct irq_entry *entry, *to_free = NULL;
struct irq_entry *entry;
struct irq_entry *entry;
struct irq_entry *entry;
struct irq_entry *entry;
struct irq_entry *entry;
struct hv_interrupt_entry *irq_entry);
struct hv_interrupt_entry *irq_entry)
return hv_unmap_interrupt(hv_devid.as_uint64, irq_entry);
struct hv_interrupt_entry irq_entry;
irq_entry = *(struct hv_interrupt_entry *)irqd->chip_data;
entry_to_msi_msg(&irq_entry, &msg);
(void)hv_unmap_msi_interrupt(pdev, &irq_entry);
static int hv_unmap_interrupt(u64 id, struct hv_interrupt_entry *irq_entry)
input->interrupt_entry = *irq_entry;
if (irqfd->irq_entry.type == KVM_IRQ_ROUTING_MSI) {
ret = kvm_pi_update_irte(irqfd, &irqfd->irq_entry);
if (irqfd->irq_entry.type == KVM_IRQ_ROUTING_MSI ||
struct idxd_irq_entry *irq_entry;
irq_entry = &idxd->ie;
synchronize_irq(irq_entry->vector);
struct idxd_irq_entry *irq_entry = data;
struct idxd_device *idxd = ie_to_idxd(irq_entry);
static void irq_process_pending_llist(struct idxd_irq_entry *irq_entry)
head = llist_del_all(&irq_entry->pending_llist);
spin_lock(&irq_entry->list_lock);
&irq_entry->work_list);
spin_unlock(&irq_entry->list_lock);
static void irq_process_work_list(struct idxd_irq_entry *irq_entry)
spin_lock(&irq_entry->list_lock);
if (list_empty(&irq_entry->work_list)) {
spin_unlock(&irq_entry->list_lock);
list_for_each_entry_safe(desc, n, &irq_entry->work_list, list) {
spin_unlock(&irq_entry->list_lock);
struct idxd_irq_entry *irq_entry = data;
irq_process_work_list(irq_entry);
irq_process_pending_llist(irq_entry);
struct dpu_hw_intr_entry *irq_entry = dpu_core_irq_get_entry(dpu_kms->hw_intr, irq_idx);
if (!irq_entry->cb) {
atomic_inc(&irq_entry->count);
irq_entry->cb(irq_entry->arg);
struct dpu_hw_intr_entry *irq_entry;
irq_entry = dpu_core_irq_get_entry(dpu_kms->hw_intr, irq_idx);
if (unlikely(WARN_ON(irq_entry->cb))) {
irq_entry->arg = irq_arg;
irq_entry->cb = irq_cb;
struct dpu_hw_intr_entry *irq_entry;
irq_entry = dpu_core_irq_get_entry(dpu_kms->hw_intr, irq_idx);
irq_entry->cb = NULL;
irq_entry->arg = NULL;
struct dpu_hw_intr_entry *irq_entry;
irq_entry = dpu_core_irq_get_entry(dpu_kms->hw_intr, i);
irq_count = atomic_read(&irq_entry->count);
cb = irq_entry->cb;
struct dpu_hw_intr_entry *irq_entry;
irq_entry = dpu_core_irq_get_entry(dpu_kms->hw_intr, i);
atomic_set(&irq_entry->count, 0);
struct dpu_hw_intr_entry *irq_entry;
irq_entry = dpu_core_irq_get_entry(dpu_kms->hw_intr, i);
if (irq_entry->cb)
nfp_net_irq_unmask(r_vec->nfp_net, r_vec->irq_entry);
nfp_net_irq_unmask(r_vec->nfp_net, r_vec->irq_entry);
nfp_net_irq_unmask(r_vec->nfp_net, r_vec->irq_entry);
nfp_net_irq_unmask(r_vec->nfp_net, r_vec->irq_entry);
nfp_net_irq_unmask(r_vec->nfp_net, r_vec->irq_entry);
u16 irq_entry;
r_vec->irq_entry = entry->entry;
r_vec->irq_entry);
nn_writeb(nn, NFP_NET_CFG_RXR_VEC(idx), rx_ring->r_vec->irq_entry);
nn_writeb(nn, NFP_NET_CFG_TXR_VEC(idx), tx_ring->r_vec->irq_entry);
struct kvm_kernel_irq_routing_entry *irq_entry);
int kvm_set_msi(struct kvm_kernel_irq_routing_entry *irq_entry, struct kvm *kvm,
struct kvm_kernel_irq_routing_entry irq_entry;
irq = irqfd->irq_entry;
irqfd->irq_entry = *e;
irqfd->irq_entry.type = 0;
struct kvm_kernel_irq_routing_entry old = irqfd->irq_entry;
kvm_arch_update_irqfd_routing(irqfd, &old, &irqfd->irq_entry);