Lines Matching defs:domain
22 * Interrupt Router IRQ domain.
50 * @domain: Pointer to IRQ domain
57 static int ti_sci_intr_irq_domain_translate(struct irq_domain *domain,
62 struct ti_sci_intr_irq_domain *intr = domain->host_data;
75 * @intr: IRQ domain corresponding to Interrupt Router
76 * @irq: Hardware irq corresponding to the above irq domain
103 * ti_sci_intr_irq_domain_free() - Free the specified IRQs from the domain.
104 * @domain: Domain to which the irqs belong
108 static void ti_sci_intr_irq_domain_free(struct irq_domain *domain,
111 struct ti_sci_intr_irq_domain *intr = domain->host_data;
115 data = irq_domain_get_irq_data(domain, virq);
122 irq_domain_free_irqs_parent(domain, virq, 1);
128 * @domain: Pointer to the interrupt router IRQ domain
130 * @hwirq: Corresponding hwirq for the IRQ within this IRQ domain
134 static int ti_sci_intr_alloc_parent_irq(struct irq_domain *domain,
137 struct ti_sci_intr_irq_domain *intr = domain->host_data;
166 err = irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec);
179 irq_domain_free_irqs_parent(domain, virq, 1);
187 * @domain: Point to the interrupt router IRQ domain
194 static int ti_sci_intr_irq_domain_alloc(struct irq_domain *domain,
203 err = ti_sci_intr_irq_domain_translate(domain, fwspec, &hwirq, &flags);
207 out_irq = ti_sci_intr_alloc_parent_irq(domain, virq, hwirq);
211 irq_domain_set_hwirq_and_chip(domain, virq, hwirq,
226 struct irq_domain *parent_domain, *domain;
241 dev_err(dev, "Failed to find IRQ parent domain\n");
277 domain = irq_domain_add_hierarchy(parent_domain, 0, 0, dev_of_node(dev),
279 if (!domain) {
280 dev_err(dev, "Failed to allocate IRQ domain\n");
284 dev_info(dev, "Interrupt Router %d domain created\n", intr->ti_sci_id);