Home
last modified time | relevance | path

Searched full:irq_domain (Results 1 – 25 of 380) sorted by relevance

12345678910>>...16

/linux/drivers/irqchip/
H A Dirq-loongson.h11 int liointc_acpi_init(struct irq_domain *parent,
13 int eiointc_acpi_init(struct irq_domain *parent,
15 int avecintc_acpi_init(struct irq_domain *parent);
17 int htvec_acpi_init(struct irq_domain *parent,
19 int pch_lpc_acpi_init(struct irq_domain *parent,
21 int pch_pic_acpi_init(struct irq_domain *parent,
23 int pch_msi_acpi_init(struct irq_domain *parent,
25 int pch_msi_acpi_init_avec(struct irq_domain *parent);
H A Dirq-loongarch-cpu.c18 static struct irq_domain *irq_domain; variable
81 generic_handle_domain_irq(irq_domain, hwirq - 1); in handle_cpu_irq()
85 static int loongarch_cpu_intc_map(struct irq_domain *d, unsigned int irq, in loongarch_cpu_intc_map()
105 irq_domain = irq_domain_create_linear(cpuintc_handle, EXCCODE_INT_NUM, in cpuintc_of_init()
107 if (!irq_domain) in cpuintc_of_init()
122 return liointc_acpi_init(irq_domain, liointc_entry); in liointc_parse_madt()
130 return eiointc_acpi_init(irq_domain, eiointc_entry); in eiointc_parse_madt()
146 r = avecintc_acpi_init(irq_domain); in acpi_cascade_irqdomain_init()
156 if (irq_domain) in cpuintc_acpi_init()
164 irq_domain = irq_domain_create_linear(cpuintc_handle, EXCCODE_INT_NUM, in cpuintc_acpi_init()
[all …]
H A Dirq-mips-cpu.c37 static struct irq_domain *irq_domain; variable
38 static struct irq_domain *ipi_domain;
139 struct irq_domain *d; in plat_irq_dispatch()
145 d = irq_domain; in plat_irq_dispatch()
152 static int mips_cpu_intc_map(struct irq_domain *d, unsigned int irq, in mips_cpu_intc_map()
183 static int mips_cpu_ipi_alloc(struct irq_domain *domain, unsigned int virq, in mips_cpu_ipi_alloc()
217 static int mips_cpu_ipi_match(struct irq_domain *d, struct device_node *node, in mips_cpu_ipi_match()
241 ipi_domain = irq_domain_create_hierarchy(irq_domain, IRQ_DOMAIN_FLAG_IPI_SINGLE, 2, in mips_cpu_register_ipi_domain()
261 irq_domain = irq_domain_create_legacy(of_fwnode_handle(of_node), 8, MIPS_CPU_IRQ_BASE, 0, in __mips_cpu_irq_init()
263 if (!irq_domain) in __mips_cpu_irq_init()
H A Dirq-aspeed-i2c-ic.c24 struct irq_domain *irq_domain; member
41 generic_handle_domain_irq(i2c_ic->irq_domain, bit); in aspeed_i2c_ic_irq_handler()
50 static int aspeed_i2c_ic_map_irq_domain(struct irq_domain *domain, in aspeed_i2c_ic_map_irq_domain()
85 i2c_ic->irq_domain = irq_domain_create_linear(of_fwnode_handle(node), ASPEED_I2C_IC_NUM_BUS, in aspeed_i2c_ic_of_init()
88 if (!i2c_ic->irq_domain) { in aspeed_i2c_ic_of_init()
93 i2c_ic->irq_domain->name = "aspeed-i2c-domain"; in aspeed_i2c_ic_of_init()
H A Dirq-renesas-irqc.c52 struct irq_domain *irq_domain; member
118 generic_handle_domain_irq(p->irq_domain, i->hw_irq); in irqc_irq_handler()
171 p->irq_domain = irq_domain_create_linear(dev_fwnode(dev), p->number_of_irqs, in irqc_probe()
173 if (!p->irq_domain) { in irqc_probe()
179 ret = irq_alloc_domain_generic_chips(p->irq_domain, p->number_of_irqs, in irqc_probe()
187 p->gc = irq_get_domain_generic_chip(p->irq_domain, 0); in irqc_probe()
197 irq_domain_set_pm_device(p->irq_domain, dev); in irqc_probe()
214 irq_domain_remove(p->irq_domain); in irqc_probe()
225 irq_domain_remove(p->irq_domain); in irqc_remove()
H A Dirq-aspeed-intc.c26 struct irq_domain *irq_domain; member
41 generic_handle_domain_irq(intc_ic->irq_domain, bit); in aspeed_intc_ic_irq_handler()
73 static int aspeed_intc_ic_map_irq_domain(struct irq_domain *domain, unsigned int irq, in aspeed_intc_ic_map_irq_domain()
105 intc_ic->irq_domain = irq_domain_create_linear(of_fwnode_handle(node), INTC_IRQS_PER_WORD, in aspeed_intc_ic_of_init()
107 if (!intc_ic->irq_domain) { in aspeed_intc_ic_of_init()
H A Dirq-atmel-aic5.c68 static struct irq_domain *aic5_domain;
87 struct irq_domain *domain = d->domain; in aic5_mask()
103 struct irq_domain *domain = d->domain; in aic5_unmask()
119 struct irq_domain *domain = d->domain; in aic5_retrigger()
131 struct irq_domain *domain = d->domain; in aic5_set_type()
150 struct irq_domain *domain = d->domain; in aic5_suspend()
179 struct irq_domain *domain = d->domain; in aic5_resume()
214 struct irq_domain *domain = d->domain; in aic5_pm_shutdown()
233 static void __init aic5_hw_init(struct irq_domain *domain) in aic5_hw_init()
264 static int aic5_irq_domain_xlate(struct irq_domain *d, in aic5_irq_domain_xlate()
[all …]
H A Dirq-loongson-pch-msi.c80 static int pch_msi_parent_domain_alloc(struct irq_domain *domain, in pch_msi_parent_domain_alloc()
92 static int pch_msi_middle_domain_alloc(struct irq_domain *domain, in pch_msi_middle_domain_alloc()
121 static void pch_msi_middle_domain_free(struct irq_domain *domain, in pch_msi_middle_domain_free()
156 static int pch_msi_init_domains(struct pch_msi_data *priv, struct irq_domain *parent, in pch_msi_init_domains()
175 struct irq_domain *parent_domain, struct fwnode_handle *domain_handle) in pch_msi_init()
218 struct irq_domain *parent_domain; in pch_msi_of_init()
264 int __init pch_msi_acpi_init(struct irq_domain *parent, struct acpi_madt_msi_pic *acpi_pchmsi) in pch_msi_acpi_init()
279 int __init pch_msi_acpi_init_avec(struct irq_domain *parent) in pch_msi_acpi_init_avec()
H A Dirq-idt3243x.c23 struct irq_domain *irq_domain; member
39 generic_handle_domain_irq(idtpic->irq_domain, hwirq); in idt_irq_dispatch()
48 struct irq_domain *domain; in idt_pic_init()
82 idtpic->irq_domain = domain; in idt_pic_init()
H A Dirq-goldfish-pic.c30 struct irq_domain *irq_domain; member
44 generic_handle_domain_irq(gfpic->irq_domain, hwirq); in goldfish_pic_cascade()
104 gfpic->irq_domain = irq_domain_create_legacy(of_fwnode_handle(of_node), GFPIC_NR_IRQS, in goldfish_pic_of_init()
107 if (!gfpic->irq_domain) { in goldfish_pic_of_init()
/linux/kernel/irq/
H A Dirqdomain.c26 static struct irq_domain *irq_default_domain;
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);
32 static void irq_domain_free_one_irq(struct irq_domain *domain, unsigned int virq);
43 static void debugfs_add_domain_dir(struct irq_domain *d);
44 static void debugfs_remove_domain_dir(struct irq_domain *d);
46 static inline void debugfs_add_domain_dir(struct irq_domain *d) { } in debugfs_add_domain_dir()
47 static inline void debugfs_remove_domain_dir(struct irq_domain *d) { } in debugfs_remove_domain_dir()
143 static int alloc_name(struct irq_domain *domain, char *base, enum irq_domain_bus_token bus_token) in alloc_name()
156 static int alloc_fwnode_name(struct irq_domain *domain, const struct fwnode_handle *fwnode, in alloc_fwnode_name()
[all …]
H A Dirq_sim.c18 struct irq_domain *domain;
145 static int irq_sim_domain_map(struct irq_domain *domain, in irq_sim_domain_map()
164 static void irq_sim_domain_unmap(struct irq_domain *domain, unsigned int virq) in irq_sim_domain_unmap()
183 * irq_domain_create_sim - Create a new interrupt simulator irq_domain and
189 * On success: return a new irq_domain object.
192 struct irq_domain *irq_domain_create_sim(struct fwnode_handle *fwnode, in irq_domain_create_sim()
199 struct irq_domain *irq_domain_create_sim_full(struct fwnode_handle *fwnode, in irq_domain_create_sim_full()
238 void irq_domain_remove_sim(struct irq_domain *domain) in irq_domain_remove_sim()
252 struct irq_domain *domain = data; in devm_irq_domain_remove_sim()
265 * On success: return a new irq_domain object.
[all …]
H A Dmsi.c62 static int msi_domain_prepare_irqs(struct irq_domain *domain, struct device *dev,
601 static struct irq_domain *msi_get_device_domain(struct device *dev, unsigned int domid) in msi_get_device_domain()
603 struct irq_domain *domain; in msi_get_device_domain()
623 struct irq_domain *domain; in msi_domain_get_hwsize()
640 static void msi_check_level(struct irq_domain *domain, struct msi_msg *msg) in msi_check_level()
681 static int msi_domain_activate(struct irq_domain *domain, in msi_domain_activate()
692 static void msi_domain_deactivate(struct irq_domain *domain, in msi_domain_deactivate()
701 static int msi_domain_alloc(struct irq_domain *domain, unsigned int virq, in msi_domain_alloc()
733 static void msi_domain_free(struct irq_domain *domain, unsigned int virq, in msi_domain_free()
746 static int msi_domain_translate(struct irq_domain *domain, struct irq_fwspec *fwspec, in msi_domain_translate()
[all …]
/linux/arch/x86/include/asm/
H A Dirqdomain.h16 extern struct irq_domain *x86_vector_domain;
43 extern int mp_irqdomain_alloc(struct irq_domain *domain, unsigned int virq,
45 extern void mp_irqdomain_free(struct irq_domain *domain, unsigned int virq,
47 extern int mp_irqdomain_activate(struct irq_domain *domain,
49 extern void mp_irqdomain_deactivate(struct irq_domain *domain,
51 extern int mp_irqdomain_ioapic_idx(struct irq_domain *domain);
56 struct irq_domain *native_create_pci_msi_domain(void);
57 extern struct irq_domain *x86_pci_msi_default_domain;
/linux/include/linux/
H A Dirq_sim.h20 int (*irq_sim_irq_requested)(struct irq_domain *domain,
22 void (*irq_sim_irq_released)(struct irq_domain *domain,
26 struct irq_domain *irq_domain_create_sim(struct fwnode_handle *fwnode,
28 struct irq_domain *devm_irq_domain_create_sim(struct device *dev,
31 struct irq_domain *irq_domain_create_sim_full(struct fwnode_handle *fwnode,
35 struct irq_domain *
41 void irq_domain_remove_sim(struct irq_domain *domain);
/linux/drivers/ssb/
H A Ddriver_gpio.c31 return irq_find_mapping(bus->irq_domain, gpio); in ssb_gpio_to_irq()
137 generic_handle_domain_irq_safe(bus->irq_domain, gpio); in ssb_gpio_irq_chipco_handler()
153 bus->irq_domain = irq_domain_create_linear(NULL, chip->ngpio, &irq_domain_simple_ops, in ssb_gpio_irq_chipco_domain_init()
155 if (!bus->irq_domain) { in ssb_gpio_irq_chipco_domain_init()
160 int irq = irq_create_mapping(bus->irq_domain, gpio); in ssb_gpio_irq_chipco_domain_init()
180 int irq = irq_find_mapping(bus->irq_domain, gpio); in ssb_gpio_irq_chipco_domain_init()
184 irq_domain_remove(bus->irq_domain); in ssb_gpio_irq_chipco_domain_init()
201 int irq = irq_find_mapping(bus->irq_domain, gpio); in ssb_gpio_irq_chipco_domain_exit()
205 irq_domain_remove(bus->irq_domain); in ssb_gpio_irq_chipco_domain_exit()
338 generic_handle_domain_irq_safe(bus->irq_domain, gpio); in ssb_gpio_irq_extif_handler()
[all …]
/linux/arch/powerpc/platforms/embedded6xx/
H A Dflipper-pic.c96 static struct irq_domain *flipper_irq_host;
98 static int flipper_pic_map(struct irq_domain *h, unsigned int virq, in flipper_pic_map()
123 static struct irq_domain * __init flipper_pic_init(struct device_node *np) in flipper_pic_init()
126 struct irq_domain *irq_domain = NULL; in flipper_pic_init() local
152 irq_domain = irq_domain_create_linear(of_fwnode_handle(np), in flipper_pic_init()
155 if (!irq_domain) { in flipper_pic_init()
156 pr_err("failed to allocate irq_domain\n"); in flipper_pic_init()
161 return irq_domain; in flipper_pic_init()
/linux/drivers/misc/
H A Dlan966x_pci.c27 struct irq_domain *irq_domain; member
31 static int pci_dev_irq_domain_map(struct irq_domain *d, unsigned int virq, irq_hw_number_t hw) in pci_dev_irq_domain_map()
47 ret = generic_handle_domain_irq(intr_ctrl->irq_domain, 0); in pci_dev_irq_handler()
67 intr_ctrl->irq_domain = irq_domain_create_linear(fwnode, 1, &pci_dev_irq_domain_ops, in pci_dev_create_intr_ctrl()
69 if (!intr_ctrl->irq_domain) { in pci_dev_create_intr_ctrl()
92 irq_domain_remove(intr_ctrl->irq_domain); in pci_dev_create_intr_ctrl()
100 irq_dispose_mapping(irq_find_mapping(intr_ctrl->irq_domain, 0)); in pci_dev_remove_intr_ctrl()
101 irq_domain_remove(intr_ctrl->irq_domain); in pci_dev_remove_intr_ctrl()
/linux/drivers/mailbox/
H A Dqcom-ipcc.c45 * @irq_domain: The irq_domain associated with this instance
55 struct irq_domain *irq_domain; member
85 virq = irq_find_mapping(ipcc->irq_domain, hwirq); in qcom_ipcc_irq_fn()
116 static int qcom_ipcc_domain_map(struct irq_domain *d, unsigned int irq, in qcom_ipcc_domain_map()
128 static int qcom_ipcc_domain_xlate(struct irq_domain *d, in qcom_ipcc_domain_xlate()
268 virq = irq_find_mapping(ipcc->irq_domain, hwirq); in qcom_ipcc_pm_resume()
315 ipcc->irq_domain = irq_domain_create_tree(dev_fwnode(&pdev->dev), &qcom_ipcc_irq_ops, ipcc); in qcom_ipcc_probe()
316 if (!ipcc->irq_domain) in qcom_ipcc_probe()
339 irq_domain_remove(ipcc->irq_domain); in qcom_ipcc_probe()
349 irq_domain_remove(ipcc->irq_domain); in qcom_ipcc_remove()
/linux/drivers/extcon/
H A DKconfig35 select IRQ_DOMAIN
92 select IRQ_DOMAIN
111 select IRQ_DOMAIN
121 select IRQ_DOMAIN
131 select IRQ_DOMAIN
140 select IRQ_DOMAIN
177 select IRQ_DOMAIN
189 select IRQ_DOMAIN
/linux/drivers/platform/x86/intel/
H A Dcrystal_cove_charger.c26 struct irq_domain *irq_domain; member
83 irq_domain_remove(charger->irq_domain); in crystal_cove_charger_rm_irq_domain()
103 charger->irq_domain = irq_domain_create_linear(dev_fwnode(pdev->dev.parent), 1, in crystal_cove_charger_probe()
105 if (!charger->irq_domain) in crystal_cove_charger_probe()
109 irq_domain_update_bus_token(charger->irq_domain, DOMAIN_BUS_WAKEUP); in crystal_cove_charger_probe()
115 charger->charger_irq = irq_create_mapping(charger->irq_domain, 0); in crystal_cove_charger_probe()
/linux/Documentation/translations/zh_CN/core-api/irq/
H A Dirq-domain.rst13 irq_domain 中断号映射库
35 irq_domain 库在 irq_alloc_desc*() API 的基础上增加了 hwirq 和 IRQ 号码
190 CPU Vector irq_domain (root irq_domain to manage CPU vectors)
193 Interrupt Remapping irq_domain (manage irq_remapping entries)
196 IOAPIC irq_domain (manage IOAPIC delivery entries/pins)
/linux/arch/x86/kernel/apic/
H A Dmsi.c24 struct irq_domain *x86_pci_msi_default_domain __ro_after_init;
152 struct irq_domain *domain = dev_get_msi_domain(&dev->dev); in pci_dev_has_default_msi_parent_domain()
175 static int x86_msi_prepare(struct irq_domain *domain, struct device *dev, in x86_msi_prepare()
205 static bool x86_init_dev_msi_info(struct device *dev, struct irq_domain *domain, in x86_init_dev_msi_info()
206 struct irq_domain *real_parent, struct msi_domain_info *info) in x86_init_dev_msi_info()
264 struct irq_domain * __init native_create_pci_msi_domain(void) in native_create_pci_msi_domain()
280 int pci_msi_prepare(struct irq_domain *domain, struct device *dev, int nvec, in pci_msi_prepare()
323 static int dmar_msi_init(struct irq_domain *domain, in dmar_msi_init()
343 static struct irq_domain *dmar_get_irq_domain(void) in dmar_get_irq_domain()
345 static struct irq_domain *dmar_domain; in dmar_get_irq_domain()
[all …]
/linux/arch/x86/platform/uv/
H A Duv_irq.c75 static int uv_domain_alloc(struct irq_domain *domain, unsigned int virq, in uv_domain_alloc()
107 static void uv_domain_free(struct irq_domain *domain, unsigned int virq, in uv_domain_free()
122 static int uv_domain_activate(struct irq_domain *domain, in uv_domain_activate()
133 static void uv_domain_deactivate(struct irq_domain *domain, in uv_domain_deactivate()
152 static struct irq_domain *uv_get_irq_domain(void) in uv_get_irq_domain()
154 static struct irq_domain *uv_domain; in uv_get_irq_domain()
185 struct irq_domain *domain = uv_get_irq_domain(); in uv_setup_irq()
/linux/drivers/gpio/
H A Dgpio-em.c30 struct irq_domain *irq_domain; member
176 generic_handle_domain_irq(p->irq_domain, offset); in em_gio_irq_handler()
229 return irq_create_mapping(gpio_to_priv(chip)->irq_domain, offset); in em_gio_to_irq()
242 static int em_gio_irq_domain_map(struct irq_domain *h, unsigned int irq, in em_gio_irq_domain_map()
261 struct irq_domain *domain = data; in em_gio_irq_domain_remove()
328 p->irq_domain = irq_domain_create_simple(dev_fwnode(dev), ngpios, 0, in em_gio_probe()
330 if (!p->irq_domain) { in em_gio_probe()
336 p->irq_domain); in em_gio_probe()

12345678910>>...16