/kernel/linux/linux-6.6/include/linux/ |
H A D | irqdomain.h | 3 * irq_domain - IRQ translation domains 26 * a unique identifier for an interrupt controller, the irq_domain 42 struct irq_domain; 74 * struct irq_domain_ops - Methods for irq_domain objects 89 int (*match)(struct irq_domain *d, struct device_node *node, 91 int (*select)(struct irq_domain *d, struct irq_fwspec *fwspec, 93 int (*map)(struct irq_domain *d, unsigned int virq, irq_hw_number_t hw); 94 void (*unmap)(struct irq_domain *d, unsigned int virq); 95 int (*xlate)(struct irq_domain *d, struct device_node *node, 100 int (*alloc)(struct irq_domain * 150 struct irq_domain { global() struct [all...] |
H A D | msi.h | 86 struct irq_domain; 228 struct irq_domain *domain; 412 struct irq_domain; 451 int (*msi_init)(struct irq_domain *domain, 455 void (*msi_free)(struct irq_domain *domain, 458 int (*msi_prepare)(struct irq_domain *domain, 461 void (*prepare_desc)(struct irq_domain *domain, msi_alloc_info_t *arg, 465 int (*domain_alloc_irqs)(struct irq_domain *domain, 467 void (*domain_free_irqs)(struct irq_domain *domain, 469 void (*msi_post_free)(struct irq_domain *domai [all...] |
/kernel/linux/linux-5.10/include/linux/ |
H A D | irqdomain.h | 3 * irq_domain - IRQ translation domains 26 * a unique identifier for an interrupt controller, the irq_domain 40 struct irq_domain; 91 * struct irq_domain_ops - Methods for irq_domain objects 106 int (*match)(struct irq_domain *d, struct device_node *node, 108 int (*select)(struct irq_domain *d, struct irq_fwspec *fwspec, 110 int (*map)(struct irq_domain *d, unsigned int virq, irq_hw_number_t hw); 111 void (*unmap)(struct irq_domain *d, unsigned int virq); 112 int (*xlate)(struct irq_domain *d, struct device_node *node, 117 int (*alloc)(struct irq_domain * 162 struct irq_domain { global() struct [all...] |
H A D | msi.h | 254 struct irq_domain; 302 int (*msi_init)(struct irq_domain *domain, 306 void (*msi_free)(struct irq_domain *domain, 309 int (*msi_check)(struct irq_domain *domain, 312 int (*msi_prepare)(struct irq_domain *domain, 318 int (*handle_error)(struct irq_domain *domain, 320 int (*domain_alloc_irqs)(struct irq_domain *domain, 322 void (*domain_free_irqs)(struct irq_domain *domain, 378 struct irq_domain *msi_create_irq_domain(struct fwnode_handle *fwnode, 380 struct irq_domain *paren [all...] |
/kernel/linux/linux-5.10/arch/loongarch/include/asm/mach-loongson64/ |
H A D | irq.h | 57 struct irq_domain *liointc_acpi_init(struct irq_domain *parent, 59 struct irq_domain *eiointc_acpi_init(struct irq_domain *parent, 62 struct irq_domain *htvec_acpi_init(struct irq_domain *parent, 64 struct irq_domain *pch_lpc_acpi_init(struct irq_domain *parent, 66 struct irq_domain *pch_msi_acpi_init(struct irq_domain *paren [all...] |
/kernel/linux/linux-5.10/kernel/irq/ |
H A D | irqdomain.c | 26 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); 41 static void debugfs_add_domain_dir(struct irq_domain *d); 42 static void debugfs_remove_domain_dir(struct irq_domain *d); 44 static inline void debugfs_add_domain_dir(struct irq_domain *d) { } in debugfs_add_domain_dir() 45 static inline void debugfs_remove_domain_dir(struct irq_domain *d) { } in debugfs_remove_domain_dir() 120 static struct irq_domain *__irq_domain_create(struct fwnode_handle *fwnode, in __irq_domain_create() 128 struct irq_domain *domain; in __irq_domain_create() 205 static void __irq_domain_publish(struct irq_domain *domai [all...] |
H A D | msi.c | 79 static void msi_check_level(struct irq_domain *domain, struct msi_msg *msg) in msi_check_level() 118 static int msi_domain_activate(struct irq_domain *domain, in msi_domain_activate() 129 static void msi_domain_deactivate(struct irq_domain *domain, in msi_domain_deactivate() 138 static int msi_domain_alloc(struct irq_domain *domain, unsigned int virq, in msi_domain_alloc() 170 static void msi_domain_free(struct irq_domain *domain, unsigned int virq, in msi_domain_free() 196 static int msi_domain_ops_prepare(struct irq_domain *domain, struct device *dev, in msi_domain_ops_prepare() 209 static int msi_domain_ops_init(struct irq_domain *domain, in msi_domain_ops_init() 224 static int msi_domain_ops_check(struct irq_domain *domain, in msi_domain_ops_check() 285 struct irq_domain *msi_create_irq_domain(struct fwnode_handle *fwnode, in msi_create_irq_domain() 287 struct irq_domain *paren in msi_create_irq_domain() [all...] |
/kernel/linux/linux-6.6/kernel/irq/ |
H A D | irqdomain.c | 26 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); 41 static void debugfs_add_domain_dir(struct irq_domain *d); 42 static void debugfs_remove_domain_dir(struct irq_domain *d); 44 static inline void debugfs_add_domain_dir(struct irq_domain *d) { } in debugfs_add_domain_dir() 45 static inline void debugfs_remove_domain_dir(struct irq_domain *d) { } in debugfs_remove_domain_dir() 129 static struct irq_domain *__irq_domain_create(struct fwnode_handle *fwnode, in __irq_domain_create() 137 struct irq_domain *domain; in __irq_domain_create() 232 static void __irq_domain_publish(struct irq_domain *domai [all...] |
H A D | irq_sim.c | 18 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() 155 * irq_domain_create_sim - Create a new interrupt simulator irq_domain and 161 * On success: return a new irq_domain object. 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() 230 * On success: return a new irq_domain object. 233 struct irq_domain *devm_irq_domain_create_si [all...] |
/kernel/linux/linux-5.10/drivers/irqchip/ |
H A D | irq-loongarch-cpu.c | 16 static struct irq_domain *irq_domain; variable 41 handle_domain_irq(irq_domain, hwirq - 1, regs); in handle_cpu_irq() 47 return irq_create_mapping(irq_domain, INT_IPI); in get_ipi_irq() 52 return irq_create_mapping(irq_domain, INT_PCOV); in get_pmc_irq() 57 return irq_create_mapping(irq_domain, INT_TI); in get_timer_irq() 60 static int loongarch_cpu_intc_map(struct irq_domain *d, unsigned int irq, in loongarch_cpu_intc_map() 74 struct irq_domain * __init loongarch_cpu_irq_init(void) in loongarch_cpu_irq_init() 83 irq_domain = irq_domain_create_linear(domain_handle, EXCCODE_INT_NUM, in loongarch_cpu_irq_init() 86 if (!irq_domain) in loongarch_cpu_irq_init() [all...] |
H A D | irq-aspeed-i2c-ic.c | 24 struct irq_domain *irq_domain; member 42 bus_irq = irq_find_mapping(i2c_ic->irq_domain, bit); in aspeed_i2c_ic_irq_handler() 52 static int aspeed_i2c_ic_map_irq_domain(struct irq_domain *domain, in aspeed_i2c_ic_map_irq_domain() 87 i2c_ic->irq_domain = irq_domain_add_linear(node, ASPEED_I2C_IC_NUM_BUS, in aspeed_i2c_ic_of_init() 90 if (!i2c_ic->irq_domain) { in aspeed_i2c_ic_of_init() 95 i2c_ic->irq_domain->name = "aspeed-i2c-domain"; in aspeed_i2c_ic_of_init()
|
H A D | irq-mips-cpu.c | 37 static struct irq_domain *irq_domain; variable 38 static struct irq_domain *ipi_domain; 144 virq = irq_linear_revmap(irq_domain, irq); in plat_irq_dispatch() 150 static int mips_cpu_intc_map(struct irq_domain *d, unsigned int irq, in mips_cpu_intc_map() 181 static int mips_cpu_ipi_alloc(struct irq_domain *domain, unsigned int virq, in mips_cpu_ipi_alloc() 215 static int mips_cpu_ipi_match(struct irq_domain *d, struct device_node *node, in mips_cpu_ipi_match() 239 ipi_domain = irq_domain_add_hierarchy(irq_domain, in mips_cpu_register_ipi_domain() 261 irq_domain = irq_domain_add_legacy(of_node, 8, MIPS_CPU_IRQ_BASE, 0, in __mips_cpu_irq_init() 264 if (!irq_domain) in __mips_cpu_irq_init() [all...] |
/kernel/linux/linux-6.6/arch/powerpc/platforms/embedded6xx/ |
H A D | hlwd-pic.c | 93 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() 156 static struct irq_domain *__init hlwd_pic_init(struct device_node *np) in hlwd_pic_init() 158 struct irq_domain *irq_domain; in hlwd_pic_init() local [all...] |
H A D | flipper-pic.c | 96 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() 155 pr_err("failed to allocate irq_domain\n"); in flipper_pic_init() 160 return irq_domain; in flipper_pic_init()
|
/kernel/linux/linux-5.10/arch/x86/include/asm/ |
H A D | irqdomain.h | 15 extern struct irq_domain *x86_vector_domain; 42 extern int mp_irqdomain_alloc(struct irq_domain *domain, unsigned int virq, 44 extern void mp_irqdomain_free(struct irq_domain *domain, unsigned int virq, 46 extern int mp_irqdomain_activate(struct irq_domain *domain, 48 extern void mp_irqdomain_deactivate(struct irq_domain *domain, 50 extern int mp_irqdomain_ioapic_idx(struct irq_domain *domain); 55 struct irq_domain *native_create_pci_msi_domain(void); 56 extern struct irq_domain *x86_pci_msi_default_domain;
|
H A D | irq_remapping.h | 47 extern struct irq_domain * 51 extern struct irq_domain * 52 arch_create_remap_msi_irq_domain(struct irq_domain *par, const char *n, int id); 55 static inline struct irq_domain *arch_get_ir_parent_domain(void) in arch_get_ir_parent_domain() 74 static inline struct irq_domain *
|
/kernel/linux/linux-6.6/arch/x86/include/asm/ |
H A D | irqdomain.h | 16 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;
|
/kernel/linux/linux-5.10/arch/powerpc/platforms/embedded6xx/ |
H A D | hlwd-pic.c | 93 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() 126 struct irq_domain *irq_domain = irq_desc_get_handler_data(desc); in hlwd_pic_irq_cascade() local 133 virq = __hlwd_pic_get_irq(irq_domain); in hlwd_pic_irq_cascade() 158 static struct irq_domain *hlwd_pic_init(struct device_node *np) in hlwd_pic_init() 160 struct irq_domain *irq_domain; in hlwd_pic_init() local 180 irq_domain in hlwd_pic_init() [all...] |
H A D | flipper-pic.c | 95 static struct irq_domain *flipper_irq_host; 97 static int flipper_pic_map(struct irq_domain *h, unsigned int virq, in flipper_pic_map() 122 static struct irq_domain * __init flipper_pic_init(struct device_node *np) in flipper_pic_init() 125 struct irq_domain *irq_domain = NULL; in flipper_pic_init() local 151 irq_domain = irq_domain_add_linear(np, FLIPPER_NR_IRQS, in flipper_pic_init() 153 if (!irq_domain) { in flipper_pic_init() 154 pr_err("failed to allocate irq_domain\n"); in flipper_pic_init() 159 return irq_domain; in flipper_pic_init()
|
/kernel/linux/linux-6.6/drivers/irqchip/ |
H A D | irq-loongarch-cpu.c | 16 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 in cpuintc_acpi_init() [all...] |
H A D | irq-aspeed-i2c-ic.c | 24 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()
|
H A D | irq-mips-cpu.c | 37 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 in __mips_cpu_irq_init() [all...] |
/kernel/linux/linux-5.10/arch/x86/kernel/apic/ |
H A D | msi.c | 24 struct irq_domain *x86_pci_msi_default_domain __ro_after_init; 187 int pci_msi_prepare(struct irq_domain *domain, struct device *dev, int nvec, in pci_msi_prepare() 218 struct irq_domain * __init native_create_pci_msi_domain(void) in native_create_pci_msi_domain() 221 struct irq_domain *d; in native_create_pci_msi_domain() 266 struct irq_domain *arch_create_remap_msi_irq_domain(struct irq_domain *parent, in arch_create_remap_msi_irq_domain() 270 struct irq_domain *d; in arch_create_remap_msi_irq_domain() 300 static int dmar_msi_init(struct irq_domain *domain, in dmar_msi_init() 320 static struct irq_domain *dmar_get_irq_domain(void) in dmar_get_irq_domain() 322 static struct irq_domain *dmar_domai in dmar_get_irq_domain() [all...] |
/kernel/linux/linux-6.6/arch/loongarch/include/asm/ |
H A D | irq.h | 51 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,
|
/kernel/linux/linux-6.6/arch/x86/kernel/apic/ |
H A D | msi.c | 24 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() 268 struct irq_domain * __init native_create_pci_msi_domain(void) in native_create_pci_msi_domain() 284 int pci_msi_prepare(struct irq_domain *domain, struct device *dev, int nvec, in pci_msi_prepare() 327 static int dmar_msi_init(struct irq_domain *domain, in dmar_msi_init() 347 static struct irq_domain *dmar_get_irq_domain(void) in dmar_get_irq_domain() 349 static struct irq_domain *dmar_domai in dmar_get_irq_domain() [all...] |