Home
last modified time | relevance | path

Searched refs:irq_domain (Results 1 – 25 of 454) sorted by relevance

12345678910>>...19

/linux-6.3-rc2/include/linux/
A Dirqdomain.h42 struct irq_domain;
94 void (*unmap)(struct irq_domain *d, unsigned int virq);
100 int (*alloc)(struct irq_domain *d, unsigned int virq,
102 void (*free)(struct irq_domain *d, unsigned int virq,
150 struct irq_domain { struct
158 struct irq_domain *root; argument
167 struct irq_domain *parent; argument
284 extern struct irq_domain *irq_get_default_host(void);
323 struct irq_domain *d; in irq_find_host()
479 extern struct irq_domain *irq_domain_create_hierarchy(struct irq_domain *parent,
[all …]
A Dmsi.h86 struct irq_domain;
228 struct irq_domain *domain;
405 struct irq_domain;
444 int (*msi_init)(struct irq_domain *domain,
448 void (*msi_free)(struct irq_domain *domain,
451 int (*msi_prepare)(struct irq_domain *domain,
588 struct irq_domain *msi_parent_domain,
596 struct irq_domain *parent);
628 struct irq_domain *parent);
640 struct irq_domain *
[all …]
/linux-6.3-rc2/Documentation/translations/zh_CN/core-api/irq/
A Dirq-domain.rst13 irq_domain 中断号映射库
37 irq_domain来管理映射。
42 irq_domain的用法
75 irq_domain映射的类型
194irq_domain数据结构,并将这些irq_domain组织成层次结构。
196 在建立irq_domain层次结构时,靠近设备的irq_domain为子域,靠近CPU的
200 CPU Vector irq_domain (root irq_domain to manage CPU vectors)
217 1) 一个新的字段 'parent' 被添加到irq_domain结构中;它用于维护irq_domain的层次信息。
219 匹配irq_domain层次结构。irq_data用于存储irq_domain指针和硬件irq号。
222 在支持分层irq_domain和分层irq_data准备就绪后,为每个中断控制器建立一个irq_domain
[all …]
/linux-6.3-rc2/kernel/irq/
A Dirqdomain.c137 struct irq_domain *domain; in __irq_domain_create()
262 struct irq_domain *domain; in __irq_domain_add()
364 struct irq_domain *domain; in irq_domain_create_simple()
420 struct irq_domain *domain; in irq_domain_create_legacy()
795 struct irq_domain *domain; in irq_create_fwspec_mapping()
909 struct irq_domain *domain; in irq_dispose_mapping()
1135 struct irq_domain *irq_domain_create_hierarchy(struct irq_domain *parent, in irq_domain_create_hierarchy()
1142 struct irq_domain *domain; in irq_domain_create_hierarchy()
1317 struct irq_domain *parent; in irq_domain_alloc_irq_data()
1741 struct irq_domain *domain; in irq_domain_free_irqs()
[all …]
A Dirq_sim.c18 struct irq_domain *domain;
117 static int irq_sim_domain_map(struct irq_domain *domain, in irq_sim_domain_map()
136 static void irq_sim_domain_unmap(struct irq_domain *domain, unsigned int virq) in irq_sim_domain_unmap()
164 struct irq_domain *irq_domain_create_sim(struct fwnode_handle *fwnode, in irq_domain_create_sim()
203 void irq_domain_remove_sim(struct irq_domain *domain) in irq_domain_remove_sim()
217 struct irq_domain *domain = data; in devm_irq_domain_remove_sim()
233 struct irq_domain *devm_irq_domain_create_sim(struct device *dev, in devm_irq_domain_create_sim()
237 struct irq_domain *domain; in devm_irq_domain_create_sim()
A Dmsi.c586 struct irq_domain *domain; in msi_get_device_domain()
606 struct irq_domain *domain; in msi_domain_get_hwsize()
811 struct irq_domain *parent) in __msi_create_irq_domain()
813 struct irq_domain *domain; in __msi_create_irq_domain()
849 struct irq_domain *parent) in msi_create_irq_domain()
882 struct irq_domain *msi_parent_domain, in msi_parent_init_dev_msi_info()
1015 struct irq_domain *domain; in msi_remove_device_irq_domain()
1048 struct irq_domain *domain; in msi_match_device_irq_domain()
1338 struct irq_domain *domain; in __msi_domain_alloc_locked()
1474 struct irq_domain *domain; in msi_domain_alloc_irq_at()
[all …]
/linux-6.3-rc2/arch/powerpc/platforms/embedded6xx/
A Dhlwd-pic.c93 static struct irq_domain *hlwd_irq_host;
95 static int hlwd_pic_map(struct irq_domain *h, unsigned int virq, in hlwd_pic_map()
108 static unsigned int __hlwd_pic_get_irq(struct irq_domain *h) in __hlwd_pic_get_irq()
124 struct irq_domain *irq_domain = irq_desc_get_handler_data(desc); in hlwd_pic_irq_cascade() local
131 hwirq = __hlwd_pic_get_irq(irq_domain); in hlwd_pic_irq_cascade()
133 generic_handle_domain_irq(irq_domain, hwirq); in hlwd_pic_irq_cascade()
158 struct irq_domain *irq_domain; in hlwd_pic_init() local
178 irq_domain = irq_domain_add_linear(np, HLWD_NR_IRQS, in hlwd_pic_init()
180 if (!irq_domain) { in hlwd_pic_init()
186 return irq_domain; in hlwd_pic_init()
[all …]
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_add_linear(np, FLIPPER_NR_IRQS, in flipper_pic_init()
154 if (!irq_domain) { in flipper_pic_init()
160 return irq_domain; in flipper_pic_init()
/linux-6.3-rc2/arch/x86/include/asm/
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-6.3-rc2/drivers/irqchip/
A Dirq-loongarch-cpu.c16 static struct irq_domain *irq_domain; variable
77 generic_handle_domain_irq(irq_domain, hwirq - 1); in handle_cpu_irq()
81 static int loongarch_cpu_intc_map(struct irq_domain *d, unsigned int irq, in loongarch_cpu_intc_map()
101 irq_domain = irq_domain_create_linear(cpuintc_handle, EXCCODE_INT_NUM, in cpuintc_of_init()
103 if (!irq_domain) in cpuintc_of_init()
118 return liointc_acpi_init(irq_domain, liointc_entry); in liointc_parse_madt()
126 return eiointc_acpi_init(irq_domain, eiointc_entry); in eiointc_parse_madt()
149 if (irq_domain) in cpuintc_acpi_init()
157 irq_domain = irq_domain_create_linear(cpuintc_handle, EXCCODE_INT_NUM, in cpuintc_acpi_init()
160 if (!irq_domain) in cpuintc_acpi_init()
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_add_hierarchy(irq_domain, in mips_cpu_register_ipi_domain()
263 irq_domain = irq_domain_add_legacy(of_node, 8, MIPS_CPU_IRQ_BASE, 0, in __mips_cpu_irq_init()
266 if (!irq_domain) in __mips_cpu_irq_init()
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_add_linear(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()
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_add_linear(dev->of_node, 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()
A Dirq-gic-v3-mbi.c41 static int mbi_irq_gic_domain_alloc(struct irq_domain *domain, in mbi_irq_gic_domain_alloc()
84 static int mbi_irq_domain_alloc(struct irq_domain *domain, unsigned int virq, in mbi_irq_domain_alloc()
130 static void mbi_irq_domain_free(struct irq_domain *domain, in mbi_irq_domain_free()
182 static int mbi_allocate_pci_domain(struct irq_domain *nexus_domain, in mbi_allocate_pci_domain()
183 struct irq_domain **pci_domain) in mbi_allocate_pci_domain()
194 static int mbi_allocate_pci_domain(struct irq_domain *nexus_domain, in mbi_allocate_pci_domain()
195 struct irq_domain **pci_domain) in mbi_allocate_pci_domain()
231 static int mbi_allocate_domains(struct irq_domain *parent) in mbi_allocate_domains()
233 struct irq_domain *nexus_domain, *pci_domain, *plat_domain; in mbi_allocate_domains()
261 int __init mbi_init(struct fwnode_handle *fwnode, struct irq_domain *parent) in mbi_init()
A Dirq-atmel-aic5.c68 static struct irq_domain *aic5_domain;
88 struct irq_domain *domain = d->domain; in aic5_mask()
105 struct irq_domain *domain = d->domain; in aic5_unmask()
122 struct irq_domain *domain = d->domain; in aic5_retrigger()
136 struct irq_domain *domain = d->domain; in aic5_set_type()
157 struct irq_domain *domain = d->domain; in aic5_suspend()
187 struct irq_domain *domain = d->domain; in aic5_resume()
223 struct irq_domain *domain = d->domain; in aic5_pm_shutdown()
243 static void __init aic5_hw_init(struct irq_domain *domain) in aic5_hw_init()
274 static int aic5_irq_domain_xlate(struct irq_domain *d, in aic5_irq_domain_xlate()
[all …]
/linux-6.3-rc2/arch/loongarch/include/asm/
A Dirq.h51 struct irq_domain *parent;
91 int liointc_acpi_init(struct irq_domain *parent,
93 int eiointc_acpi_init(struct irq_domain *parent,
96 int htvec_acpi_init(struct irq_domain *parent,
98 int pch_lpc_acpi_init(struct irq_domain *parent,
100 int pch_msi_acpi_init(struct irq_domain *parent,
102 int pch_pic_acpi_init(struct irq_domain *parent,
/linux-6.3-rc2/arch/x86/kernel/apic/
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()
206 static bool x86_init_dev_msi_info(struct device *dev, struct irq_domain *domain, in x86_init_dev_msi_info()
207 struct irq_domain *real_parent, struct msi_domain_info *info) in x86_init_dev_msi_info()
270 struct irq_domain * __init native_create_pci_msi_domain(void) in native_create_pci_msi_domain()
286 int pci_msi_prepare(struct irq_domain *domain, struct device *dev, int nvec, in pci_msi_prepare()
329 static int dmar_msi_init(struct irq_domain *domain, in dmar_msi_init()
349 static struct irq_domain *dmar_get_irq_domain(void) in dmar_get_irq_domain()
351 static struct irq_domain *dmar_domain; in dmar_get_irq_domain()
[all …]
/linux-6.3-rc2/drivers/ssb/
A Ddriver_gpio.c31 return irq_find_mapping(bus->irq_domain, gpio); in ssb_gpio_to_irq()
153 if (!bus->irq_domain) { in ssb_gpio_irq_chipco_domain_init()
178 int irq = irq_find_mapping(bus->irq_domain, gpio); in ssb_gpio_irq_chipco_domain_init()
182 irq_domain_remove(bus->irq_domain); in ssb_gpio_irq_chipco_domain_init()
199 int irq = irq_find_mapping(bus->irq_domain, gpio); in ssb_gpio_irq_chipco_domain_exit()
203 irq_domain_remove(bus->irq_domain); in ssb_gpio_irq_chipco_domain_exit()
352 if (!bus->irq_domain) { in ssb_gpio_irq_extif_domain_init()
376 int irq = irq_find_mapping(bus->irq_domain, gpio); in ssb_gpio_irq_extif_domain_init()
380 irq_domain_remove(bus->irq_domain); in ssb_gpio_irq_extif_domain_init()
396 int irq = irq_find_mapping(bus->irq_domain, gpio); in ssb_gpio_irq_extif_domain_exit()
[all …]
/linux-6.3-rc2/drivers/gpio/
A Dgpio-xgene-sb.c52 struct irq_domain *irq_domain; member
129 static int xgene_gpio_sb_domain_activate(struct irq_domain *d, in xgene_gpio_sb_domain_activate()
150 static void xgene_gpio_sb_domain_deactivate(struct irq_domain *d, in xgene_gpio_sb_domain_deactivate()
161 static int xgene_gpio_sb_domain_translate(struct irq_domain *d, in xgene_gpio_sb_domain_translate()
176 static int xgene_gpio_sb_domain_alloc(struct irq_domain *domain, in xgene_gpio_sb_domain_alloc()
222 struct irq_domain *parent_domain = NULL; in xgene_gpio_sb_probe()
275 priv->irq_domain = irq_domain_create_hierarchy(parent_domain, in xgene_gpio_sb_probe()
278 if (!priv->irq_domain) in xgene_gpio_sb_probe()
281 priv->gc.irq.domain = priv->irq_domain; in xgene_gpio_sb_probe()
287 irq_domain_remove(priv->irq_domain); in xgene_gpio_sb_probe()
[all …]
/linux-6.3-rc2/Documentation/core-api/irq/
A Dirq-domain.rst2 The irq_domain interrupt number mapping library
41 irq_domain usage
82 Types of irq_domain mappings
233 When building irq_domain hierarchy, the irq_domain near to the device is
237 CPU Vector irq_domain (root irq_domain to manage CPU vectors)
243 IOAPIC irq_domain (manage IOAPIC delivery entries/pins)
245 There are four major interfaces to use hierarchy irq_domain:
256 Following changes are needed to support hierarchy irq_domain:
259 maintain irq_domain hierarchy information.
264 irq_domain operations.
[all …]
/linux-6.3-rc2/drivers/platform/x86/intel/
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-6.3-rc2/arch/powerpc/platforms/cell/
A Daxon_msi.c67 struct irq_domain *irq_domain; member
152 struct irq_domain *irq_domain; in find_msi_translator() local
184 irq_domain = irq_find_host(dn); in find_msi_translator()
185 if (!irq_domain) { in find_msi_translator()
191 msic = irq_domain->host_data; in find_msi_translator()
267 virq = irq_create_direct_mapping(msic->irq_domain); in axon_msi_setup_msi_irqs()
303 static int msic_host_map(struct irq_domain *h, unsigned int virq, in msic_host_map()
322 irq_domain_get_of_node(msic->irq_domain)); in axon_msi_shutdown()
378 msic->irq_domain = irq_domain_add_nomap(dn, 65536, &msic_host_ops, msic); in axon_msi_probe()
379 if (!msic->irq_domain) { in axon_msi_probe()
/linux-6.3-rc2/drivers/pci/msi/
A Dirqdomain.c13 struct irq_domain *domain; in pci_msi_setup_msi_irqs()
24 struct irq_domain *domain; in pci_msi_teardown_msi_irqs()
114 struct irq_domain *pci_msi_create_irq_domain(struct fwnode_handle *fwnode, in pci_msi_create_irq_domain()
116 struct irq_domain *parent) in pci_msi_create_irq_domain()
205 static void pci_msix_prepare_desc(struct irq_domain *domain, msi_alloc_info_t *arg, in pci_msix_prepare_desc()
242 struct irq_domain *domain = dev_get_msi_domain(&pdev->dev); in pci_create_device_domain()
328 struct irq_domain *domain; in pci_msi_domain_supports()
400 struct irq_domain *domain = dev_get_msi_domain(&pdev->dev); in pci_create_ims_domain()
451 u32 pci_msi_domain_get_msi_rid(struct irq_domain *domain, struct pci_dev *pdev) in pci_msi_domain_get_msi_rid()
474 struct irq_domain *pci_msi_get_device_domain(struct pci_dev *pdev) in pci_msi_get_device_domain()
[all …]
/linux-6.3-rc2/arch/x86/platform/uv/
A Duv_irq.c75 static int uv_domain_alloc(struct irq_domain *domain, unsigned int virq, in uv_domain_alloc()
109 static void uv_domain_free(struct irq_domain *domain, unsigned int virq, in uv_domain_free()
125 static int uv_domain_activate(struct irq_domain *domain, in uv_domain_activate()
136 static void uv_domain_deactivate(struct irq_domain *domain, in uv_domain_deactivate()
155 static struct irq_domain *uv_get_irq_domain(void) in uv_get_irq_domain()
157 static struct irq_domain *uv_domain; in uv_get_irq_domain()
188 struct irq_domain *domain = uv_get_irq_domain(); in uv_setup_irq()
/linux-6.3-rc2/drivers/base/
A Dplatform-msi.c52 static int platform_msi_init(struct irq_domain *domain, in platform_msi_init()
122 struct irq_domain *platform_msi_create_irq_domain(struct fwnode_handle *fwnode, in platform_msi_create_irq_domain()
124 struct irq_domain *parent) in platform_msi_create_irq_domain()
126 struct irq_domain *domain; in platform_msi_create_irq_domain()
243 void *platform_msi_get_host_data(struct irq_domain *domain) in platform_msi_get_host_data()
268 struct irq_domain *
277 struct irq_domain *domain; in __platform_msi_create_device_domain()
321 void platform_msi_device_domain_free(struct irq_domain *domain, unsigned int virq, in platform_msi_device_domain_free()
345 int platform_msi_device_domain_alloc(struct irq_domain *domain, unsigned int virq, in platform_msi_device_domain_alloc()

Completed in 38 milliseconds

12345678910>>...19