/kernel/irq/ |
D | irqdomain.c | 28 static int irq_domain_alloc_irqs_locked(struct irq_domain *domain, int irq_base, 31 static void irq_domain_check_hierarchy(struct irq_domain *domain); 128 struct irq_domain *domain; in __irq_domain_create() local 132 domain = kzalloc_node(sizeof(*domain) + (sizeof(unsigned int) * size), in __irq_domain_create() 134 if (!domain) in __irq_domain_create() 143 domain->fwnode = fwnode; in __irq_domain_create() 144 domain->name = kstrdup(fwid->name, GFP_KERNEL); in __irq_domain_create() 145 if (!domain->name) { in __irq_domain_create() 146 kfree(domain); in __irq_domain_create() 149 domain->flags |= IRQ_DOMAIN_NAME_ALLOCATED; in __irq_domain_create() [all …]
|
D | msi.c | 79 static void msi_check_level(struct irq_domain *domain, struct msi_msg *msg) in msi_check_level() argument 81 struct msi_domain_info *info = domain->host_data; in msi_check_level() 111 msi_check_level(irq_data->domain, msg); in msi_domain_set_affinity() 118 static int msi_domain_activate(struct irq_domain *domain, in msi_domain_activate() argument 124 msi_check_level(irq_data->domain, msg); in msi_domain_activate() 129 static void msi_domain_deactivate(struct irq_domain *domain, in msi_domain_deactivate() argument 138 static int msi_domain_alloc(struct irq_domain *domain, unsigned int virq, in msi_domain_alloc() argument 141 struct msi_domain_info *info = domain->host_data; in msi_domain_alloc() 146 if (irq_find_mapping(domain, hwirq) > 0) in msi_domain_alloc() 149 if (domain->parent) { in msi_domain_alloc() [all …]
|
D | irq_sim.c | 18 struct irq_domain *domain; member 28 struct irq_domain *domain; member 116 irqnum = irq_find_mapping(work_ctx->domain, offset); in irq_sim_handle_irq() 121 static int irq_sim_domain_map(struct irq_domain *domain, in irq_sim_domain_map() argument 124 struct irq_sim_work_ctx *work_ctx = domain->host_data; in irq_sim_domain_map() 140 static void irq_sim_domain_unmap(struct irq_domain *domain, unsigned int virq) in irq_sim_domain_unmap() argument 145 irqd = irq_domain_get_irq_data(domain, virq); in irq_sim_domain_unmap() 181 work_ctx->domain = irq_domain_create_linear(fwnode, num_irqs, in irq_domain_create_sim() 184 if (!work_ctx->domain) in irq_domain_create_sim() 190 return work_ctx->domain; in irq_domain_create_sim() [all …]
|
D | ipi.c | 23 int irq_reserve_ipi(struct irq_domain *domain, in irq_reserve_ipi() argument 30 if (!domain ||!irq_domain_is_ipi(domain)) { in irq_reserve_ipi() 46 if (irq_domain_is_ipi_single(domain)) { in irq_reserve_ipi() 84 virq = __irq_domain_alloc_irqs(domain, virq, nr_irqs, NUMA_NO_NODE, in irq_reserve_ipi() 119 struct irq_domain *domain; in irq_destroy_ipi() local 125 domain = data->domain; in irq_destroy_ipi() 126 if (WARN_ON(domain == NULL)) in irq_destroy_ipi() 129 if (!irq_domain_is_ipi(domain)) { in irq_destroy_ipi() 141 if (irq_domain_is_ipi_per_cpu(domain)) { in irq_destroy_ipi() 179 if (irq_domain_is_ipi_per_cpu(data->domain)) in ipi_get_hwirq() [all …]
|
D | debugfs.c | 82 data->domain ? data->domain->name : ""); in irq_debug_show_data() 85 if (data->domain && data->domain->ops && data->domain->ops->debug_show) in irq_debug_show_data() 86 data->domain->ops->debug_show(m, NULL, data, ind + 1); in irq_debug_show_data()
|
D | generic-chip.c | 324 gc->domain = d; in __irq_alloc_domain_generic_chips() 556 if (gc->domain) { in irq_remove_generic_chip() 557 virq = irq_find_mapping(gc->domain, gc->irq_base + i); in irq_remove_generic_chip() 577 if (!gc->domain) in irq_gc_get_irq_data() 587 virq = irq_find_mapping(gc->domain, gc->irq_base + __ffs(gc->installed)); in irq_gc_get_irq_data()
|
D | irqdesc.c | 190 if (desc->irq_data.domain) in hwirq_show() 670 int __handle_domain_irq(struct irq_domain *domain, unsigned int hwirq, in __handle_domain_irq() argument 680 irq = irq_find_mapping(domain, hwirq); in __handle_domain_irq() 718 int handle_domain_nmi(struct irq_domain *domain, unsigned int hwirq, in handle_domain_nmi() argument 730 irq = irq_find_mapping(domain, hwirq); in handle_domain_nmi()
|
D | Kconfig | 92 # Generic MSI hierarchical interrupt domain support
|
D | proc.c | 514 if (desc->irq_data.domain) in show_interrupts()
|
/kernel/ |
D | async.c | 74 struct async_domain *domain; member 81 static async_cookie_t lowest_in_progress(struct async_domain *domain) in lowest_in_progress() argument 89 if (domain) { in lowest_in_progress() 90 if (!list_empty(&domain->pending)) in lowest_in_progress() 91 first = list_first_entry(&domain->pending, in lowest_in_progress() 150 struct async_domain *domain, in __async_schedule_node_domain() argument 161 entry->domain = domain; in __async_schedule_node_domain() 168 list_add_tail(&entry->domain_list, &domain->pending); in __async_schedule_node_domain() 169 if (domain->registered) in __async_schedule_node_domain() 199 int node, struct async_domain *domain) in async_schedule_node_domain() argument [all …]
|