/linux/include/linux/ |
A D | irq.h | 177 struct irq_data { struct 185 struct irq_data *parent_data; argument 510 void (*irq_enable)(struct irq_data *data); 513 void (*irq_ack)(struct irq_data *data); 514 void (*irq_mask)(struct irq_data *data); 516 void (*irq_unmask)(struct irq_data *data); 517 void (*irq_eoi)(struct irq_data *data); 532 void (*irq_resume)(struct irq_data *data); 626 void __irq_move_irq(struct irq_data *data); 1109 void irq_gc_noop(struct irq_data *d); [all …]
|
A D | irqdesc.h | 57 struct irq_data irq_data; member 122 static inline struct irq_desc *irq_data_to_desc(struct irq_data *data) in irq_data_to_desc() 129 return desc->irq_data.irq; in irq_desc_get_irq() 132 static inline struct irq_data *irq_desc_get_irq_data(struct irq_desc *desc) in irq_desc_get_irq_data() 134 return &desc->irq_data; in irq_desc_get_irq_data() 139 return desc->irq_data.chip; in irq_desc_get_chip() 144 return desc->irq_data.chip_data; in irq_desc_get_chip_data() 190 static inline void irq_set_handler_locked(struct irq_data *data, in irq_set_handler_locked() 211 irq_set_chip_handler_name_locked(struct irq_data *data, struct irq_chip *chip, in irq_set_chip_handler_name_locked()
|
/linux/kernel/irq/ |
A D | chip.c | 342 desc->irq_data.chip->irq_enable(&desc->irq_data); in irq_enable() 394 desc->irq_data.chip->irq_enable(&desc->irq_data); in irq_percpu_enable() 396 desc->irq_data.chip->irq_unmask(&desc->irq_data); in irq_percpu_enable() 405 desc->irq_data.chip->irq_mask(&desc->irq_data); in irq_percpu_disable() 417 desc->irq_data.chip->irq_ack(&desc->irq_data); in mask_ack_irq() 427 desc->irq_data.chip->irq_mask(&desc->irq_data); in mask_irq() 438 desc->irq_data.chip->irq_unmask(&desc->irq_data); in unmask_irq() 803 desc->irq_data.chip->irq_ack(&desc->irq_data); in handle_edge_irq() 982 struct irq_data *irq_data = &desc->irq_data; in __irq_do_set_handler() local 1002 irq_data = irq_data->parent_data; in __irq_do_set_handler() [all …]
|
A D | irqdomain.c | 518 struct irq_data *irq_data) in irq_domain_set_mapping() argument 763 struct irq_data *irq_data; in irq_create_fwspec_mapping() local 1154 struct irq_data *irq_data; in irq_domain_insert_irq_data() local 1174 irq_data = irq_data->parent_data; in __irq_domain_free_hierarchy() 1181 struct irq_data *irq_data, *tmp; in irq_domain_free_irq_data() local 1273 struct irq_data *irq_data; in irq_domain_alloc_irq_data() local 1302 struct irq_data *irq_data; in irq_domain_get_irq_data() local 1305 irq_data = irq_data->parent_data) in irq_domain_get_irq_data() 1369 struct irq_data *irq_data; in irq_domain_free_irqs_common() local 1743 if (irq_data && irq_data->domain) { in __irq_domain_deactivate_irq() [all …]
|
A D | internals.h | 100 extern int __irq_get_irqchip_state(struct irq_data *data, 133 extern int irq_do_set_affinity(struct irq_data *data, 145 if (unlikely(desc->irq_data.chip->irq_bus_lock)) in chip_bus_lock() 146 desc->irq_data.chip->irq_bus_lock(&desc->irq_data); in chip_bus_lock() 151 if (unlikely(desc->irq_data.chip->irq_bus_sync_unlock)) in chip_bus_sync_unlock() 152 desc->irq_data.chip->irq_bus_sync_unlock(&desc->irq_data); in chip_bus_sync_unlock() 195 static inline unsigned int irqd_get(struct irq_data *d) in irqd_get() 240 irqd_set(&desc->irq_data, IRQD_IRQ_DISABLED); in irq_state_set_disabled() 245 irqd_set(&desc->irq_data, IRQD_IRQ_MASKED); in irq_state_set_masked() 410 static inline bool irq_move_pending(struct irq_data *data) in irq_move_pending() [all …]
|
A D | manage.c | 149 !desc->irq_data.chip || !desc->irq_data.chip->irq_set_affinity) in __irq_can_set_affinity() 647 struct irq_data *data; in irq_set_vcpu_affinity() 815 if (WARN(!desc->irq_data.chip, in enable_irq() 848 ret = desc->irq_data.chip->irq_set_wake(&desc->irq_data, on); in set_irq_wake_real() 970 irqd_set(&desc->irq_data, flags); in __irq_set_trigger() 1365 struct irq_data *d = &desc->irq_data; in irq_request_resources() 1373 struct irq_data *d = &desc->irq_data; in irq_release_resources() 1970 irq_chip_pm_put(&desc->irq_data); in __free_irq() 2038 irq_chip_pm_put(&desc->irq_data); in __cleanup_nmi() 2804 struct irq_data *data; in irq_get_irqchip_state() [all …]
|
A D | msi.c | 239 int msi_domain_set_affinity(struct irq_data *irq_data, in msi_domain_set_affinity() argument 242 struct irq_data *parent = irq_data->parent_data; in msi_domain_set_affinity() 257 struct irq_data *irq_data, bool early) in msi_domain_activate() argument 263 irq_chip_write_msi_msg(irq_data, msg); in msi_domain_activate() 268 struct irq_data *irq_data) in msi_domain_deactivate() argument 273 irq_chip_write_msi_msg(irq_data, msg); in msi_domain_deactivate() 543 struct irq_data *irq_data; in __msi_domain_alloc_irqs() local 596 irqd_clr_can_reserve(irq_data); in __msi_domain_alloc_irqs() 613 irqd_clr_activated(irq_data); in __msi_domain_alloc_irqs() 643 struct irq_data *irq_data; in __msi_domain_free_irqs() local [all …]
|
/linux/drivers/iommu/ |
A D | hyperv-iommu.c | 70 struct irq_data *irq_data; in hyperv_irq_remapping_alloc() local 82 if (!irq_data) { in hyperv_irq_remapping_alloc() 87 irq_data->chip = &hyperv_ir_chip; in hyperv_irq_remapping_alloc() 191 hyperv_root_ir_compose_msi_msg(struct irq_data *irq_data, struct msi_msg *msg) in hyperv_root_ir_compose_msi_msg() argument 203 cfg = irqd_cfg(irq_data); in hyperv_root_ir_compose_msi_msg() 274 struct irq_data *irq_data; in hyperv_root_irq_remapping_alloc() local 292 if (!irq_data) { in hyperv_root_irq_remapping_alloc() 302 irq_data->chip_data = data; in hyperv_root_irq_remapping_alloc() 310 struct irq_data *irq_data; in hyperv_root_irq_remapping_free() local 318 if (irq_data && irq_data->chip_data) { in hyperv_root_irq_remapping_free() [all …]
|
/linux/Documentation/translations/zh_CN/core-api/ |
A D | genericirq.rst | 176 default_enable(struct irq_data *data) 187 default_ack(struct irq_data *data) 202 noop(struct irq_data *data)) 218 desc->irq_data.chip->irq_mask_ack(); 220 desc->irq_data.chip->irq_unmask(); 231 desc->irq_data.chip->irq_eoi(); 246 desc->irq_data.chip->irq_ack(); 280 if (desc->irq_data.chip->irq_ack) 281 desc->irq_data.chip->irq_ack(); 283 if (desc->irq_data.chip->irq_eoi) [all …]
|
/linux/arch/x86/platform/uv/ |
A D | uv_irq.c | 48 static void uv_noop(struct irq_data *data) { } in uv_noop() 51 uv_set_irq_affinity(struct irq_data *data, const struct cpumask *mask, in uv_set_irq_affinity() 54 struct irq_data *parent = data->parent_data; in uv_set_irq_affinity() 80 struct irq_data *irq_data = irq_domain_get_irq_data(domain, virq); in uv_domain_alloc() local 87 irq_data_get_node(irq_data)); in uv_domain_alloc() 112 struct irq_data *irq_data = irq_domain_get_irq_data(domain, virq); in uv_domain_free() local 115 kfree(irq_data->chip_data); in uv_domain_free() 126 struct irq_data *irq_data, bool reserve) in uv_domain_activate() argument 128 uv_program_mmr(irqd_cfg(irq_data), irq_data->chip_data); in uv_domain_activate() 137 struct irq_data *irq_data) in uv_domain_deactivate() argument [all …]
|
/linux/arch/sparc/kernel/ |
A D | prom_irqtrans.c | 263 (void *) irq_data); in sabre_irq_build() 272 struct sabre_irq_data *irq_data; in sabre_irq_trans_init() local 286 dp->irq_trans->data = irq_data; in sabre_irq_trans_init() 409 if (irq_data->portid & 1) in schizo_irq_build() 420 (void *) irq_data->sync_reg); in schizo_irq_build() 430 struct schizo_irq_data *irq_data; in __schizo_irq_trans_init() local 438 dp->irq_trans->data = irq_data; in __schizo_irq_trans_init() 444 irq_data->sync_reg = 0UL; in __schizo_irq_trans_init() 537 ino |= (irq_data->portid << 6); in fire_irq_build() 545 struct fire_irq_data *irq_data; in fire_irq_trans_init() local [all …]
|
/linux/drivers/mfd/ |
A D | rc5t583-irq.c | 140 static void rc5t583_irq_lock(struct irq_data *irq_data) in rc5t583_irq_lock() argument 142 struct rc5t583 *rc5t583 = irq_data_get_irq_chip_data(irq_data); in rc5t583_irq_lock() 146 static void rc5t583_irq_unmask(struct irq_data *irq_data) in rc5t583_irq_unmask() argument 149 unsigned int __irq = irq_data->irq - rc5t583->irq_base; in rc5t583_irq_unmask() 157 static void rc5t583_irq_mask(struct irq_data *irq_data) in rc5t583_irq_mask() argument 160 unsigned int __irq = irq_data->irq - rc5t583->irq_base; in rc5t583_irq_mask() 170 static int rc5t583_irq_set_type(struct irq_data *irq_data, unsigned int type) in rc5t583_irq_set_type() argument 173 unsigned int __irq = irq_data->irq - rc5t583->irq_base; in rc5t583_irq_set_type() 192 rc5t583_irq_unmask(irq_data); in rc5t583_irq_set_type() 198 static void rc5t583_irq_sync_unlock(struct irq_data *irq_data) in rc5t583_irq_sync_unlock() argument [all …]
|
A D | max8925-core.c | 487 irq_data = &max8925_irqs[i]; in max8925_irq() 489 if (irq_data->tsc_irq) in max8925_irq() 498 read_reg = irq_data->reg; in max8925_irq() 501 if (value & irq_data->enable) in max8925_irq() 516 irq_data = &max8925_irqs[i]; in max8925_tsc_irq() 518 if (!irq_data->tsc_irq) in max8925_tsc_irq() 527 read_reg = irq_data->reg; in max8925_tsc_irq() 530 if (value & irq_data->enable) in max8925_tsc_irq() 562 irq_data = &max8925_irqs[i]; in max8925_irq_sync_unlock() 564 switch (irq_data->mask_reg) { in max8925_irq_sync_unlock() [all …]
|
A D | max8998-irq.c | 95 irq_to_max8998_irq(struct max8998_dev *max8998, struct irq_data *data) in irq_to_max8998_irq() 100 static void max8998_irq_lock(struct irq_data *data) in max8998_irq_lock() 107 static void max8998_irq_sync_unlock(struct irq_data *data) in max8998_irq_sync_unlock() 127 static void max8998_irq_unmask(struct irq_data *data) in max8998_irq_unmask() 130 struct max8998_irq_data *irq_data = irq_to_max8998_irq(max8998, data); in max8998_irq_unmask() local 132 max8998->irq_masks_cur[irq_data->reg - 1] &= ~irq_data->mask; in max8998_irq_unmask() 135 static void max8998_irq_mask(struct irq_data *data) in max8998_irq_mask() 138 struct max8998_irq_data *irq_data = irq_to_max8998_irq(max8998, data); in max8998_irq_mask() local 140 max8998->irq_masks_cur[irq_data->reg - 1] |= irq_data->mask; in max8998_irq_mask()
|
A D | mt6358-irq.c | 56 static void pmic_irq_enable(struct irq_data *data) in pmic_irq_enable() 60 struct pmic_irq_data *irqd = chip->irq_data; in pmic_irq_enable() 65 static void pmic_irq_disable(struct irq_data *data) in pmic_irq_disable() 69 struct pmic_irq_data *irqd = chip->irq_data; in pmic_irq_disable() 74 static void pmic_irq_lock(struct irq_data *data) in pmic_irq_lock() 85 struct pmic_irq_data *irqd = chip->irq_data; in pmic_irq_sync_unlock() 127 struct pmic_irq_data *irqd = chip->irq_data; in mt6358_irq_sp_handler() 164 struct pmic_irq_data *irqd = chip->irq_data; in mt6358_irq_handler() 215 chip->irq_data = &mt6358_irqd; in mt6358_irq_init() 219 chip->irq_data = &mt6359_irqd; in mt6358_irq_init() [all …]
|
/linux/arch/arm/mach-s3c/ |
A D | irq-s3c24xx.c | 90 mask |= (1UL << irq_data->offset); in s3c_irq_mask() 102 irq_data->parent_irq); in s3c_irq_mask() 122 irq_data->parent_irq); in s3c_irq_unmask() 316 src &= irq_data->sub_bits; in s3c_irq_demux() 439 irq_data->intc = intc; in s3c24xx_irq_map() 440 irq_data->offset = hw; in s3c24xx_irq_map() 445 switch (irq_data->type) { in s3c24xx_irq_map() 495 irq_data->parent_irq); in s3c24xx_irq_map() 553 intc->irqs = irq_data; in s3c24xx_init_intc() 1171 irq_data->intc = intc; in s3c24xx_irq_map_of() [all …]
|
A D | bast-irq.c | 53 bast_pc104_mask(struct irq_data *data) in bast_pc104_mask() 63 bast_pc104_maskack(struct irq_data *data) in bast_pc104_maskack() 68 desc->irq_data.chip->irq_ack(&desc->irq_data); in bast_pc104_maskack() 72 bast_pc104_unmask(struct irq_data *data) in bast_pc104_unmask() 97 desc->irq_data.chip->irq_ack(&desc->irq_data); in bast_irq_pc104_demux()
|
/linux/drivers/irqchip/ |
A D | irq-partition-percpu.c | 31 static void partition_irq_mask(struct irq_data *d) in partition_irq_mask() 35 struct irq_data *data = irq_desc_get_irq_data(part->chained_desc); in partition_irq_mask() 42 static void partition_irq_unmask(struct irq_data *d) in partition_irq_unmask() 46 struct irq_data *data = irq_desc_get_irq_data(part->chained_desc); in partition_irq_unmask() 53 static int partition_irq_set_irqchip_state(struct irq_data *d, in partition_irq_set_irqchip_state() 59 struct irq_data *data = irq_desc_get_irq_data(part->chained_desc); in partition_irq_set_irqchip_state() 68 static int partition_irq_get_irqchip_state(struct irq_data *d, in partition_irq_get_irqchip_state() 74 struct irq_data *data = irq_desc_get_irq_data(part->chained_desc); in partition_irq_get_irqchip_state() 87 struct irq_data *data = irq_desc_get_irq_data(part->chained_desc); in partition_irq_set_type() 99 struct irq_data *data = irq_desc_get_irq_data(part->chained_desc); in partition_irq_print_chip() [all …]
|
A D | irq-ativic32.c | 18 static void ativic32_ack_irq(struct irq_data *data) in ativic32_ack_irq() 23 static void ativic32_mask_irq(struct irq_data *data) in ativic32_mask_irq() 29 static void ativic32_unmask_irq(struct irq_data *data) in ativic32_unmask_irq() 35 static int nointc_set_wake(struct irq_data *data, unsigned int on) in nointc_set_wake() 80 struct irq_data *irq_data; in ativic32_irq_domain_map() local 82 irq_data = irq_get_irq_data(virq); in ativic32_irq_domain_map() 83 if (!irq_data) in ativic32_irq_domain_map() 94 irqd_set_trigger_type(irq_data, type); in ativic32_irq_domain_map()
|
/linux/arch/x86/kernel/apic/ |
A D | io_apic.c | 992 struct irq_data *irq_data = irq_get_irq_data(irq); in alloc_isa_irq_from_domain() local 1000 if (irq_data && irq_data->parent_data) { in alloc_isa_irq_from_domain() 1124 struct irq_data *irq_data = irq_get_irq_data(irq); in mp_unmap_irq() local 1127 if (!irq_data || !irq_data->domain) in mp_unmap_irq() 1922 struct irq_data *parent = irq_data->parent_data; in ioapic_set_affinity() 2168 struct irq_data *irq_data = irq_get_irq_data(0); in check_timer() local 3003 struct irq_data *irq_data; in mp_irqdomain_alloc() local 3055 struct irq_data *irq_data; in mp_irqdomain_free() local 3060 if (irq_data && irq_data->chip_data) { in mp_irqdomain_free() 3071 struct irq_data *irq_data, bool reserve) in mp_irqdomain_activate() argument [all …]
|
/linux/drivers/staging/board/ |
A D | board.c | 76 struct of_phandle_args irq_data; in gic_fixup_resource() local 83 irq_data.np = irqc_node; in gic_fixup_resource() 84 irq_data.args_count = 3; in gic_fixup_resource() 85 irq_data.args[0] = 0; in gic_fixup_resource() 86 irq_data.args[1] = hwirq - irqc_base; in gic_fixup_resource() 91 irq_data.args[2] = IRQ_TYPE_EDGE_FALLING; in gic_fixup_resource() 94 irq_data.args[2] = IRQ_TYPE_EDGE_RISING; in gic_fixup_resource() 97 irq_data.args[2] = IRQ_TYPE_LEVEL_LOW; in gic_fixup_resource() 101 irq_data.args[2] = IRQ_TYPE_LEVEL_HIGH; in gic_fixup_resource() 105 virq = irq_create_of_mapping(&irq_data); in gic_fixup_resource()
|
/linux/arch/m68k/atari/ |
A D | ataints.c | 86 static unsigned int atari_irq_startup(struct irq_data *data) in atari_irq_startup() 96 static void atari_irq_shutdown(struct irq_data *data) in atari_irq_shutdown() 108 static void atari_irq_enable(struct irq_data *data) in atari_irq_enable() 113 static void atari_irq_disable(struct irq_data *data) in atari_irq_disable() 161 static void atari_mfptimer_enable(struct irq_data *data) in atari_mfptimer_enable() 168 static void atari_mfptimer_disable(struct irq_data *data) in atari_mfptimer_disable() 194 static unsigned int atari_ethernat_startup(struct irq_data *data) in atari_ethernat_startup() 216 static void atari_ethernat_enable(struct irq_data *data) in atari_ethernat_enable() 227 static void atari_ethernat_disable(struct irq_data *data) in atari_ethernat_disable() 238 static void atari_ethernat_shutdown(struct irq_data *data) in atari_ethernat_shutdown()
|
/linux/arch/mips/cavium-octeon/ |
A D | octeon-irq.c | 120 struct irq_data *data = irq_get_irq_data(irq); in octeon_irq_free_cd() 151 static void octeon_irq_core_ack(struct irq_data *data) in octeon_irq_core_ack() 167 static void octeon_irq_core_eoi(struct irq_data *data) in octeon_irq_core_eoi() 181 struct irq_data *data = arg; in octeon_irq_core_set_enable_local() 261 static int next_cpu_for_irq(struct irq_data *data) in next_cpu_for_irq() 591 static void octeon_irq_ciu_ack(struct irq_data *data) in octeon_irq_ciu_ack() 2268 struct irq_data *irq_data = irq_desc_get_irq_data(desc); in octeon_irq_cib_handler() local 2270 if (irqd_get_trigger_type(irq_data) & in octeon_irq_cib_handler() 2396 void octeon_irq_ciu3_enable(struct irq_data *data) in octeon_irq_ciu3_enable() 2439 void octeon_irq_ciu3_ack(struct irq_data *data) in octeon_irq_ciu3_ack() [all …]
|
/linux/drivers/gpio/ |
A D | gpio-zynq.c | 404 static void zynq_gpio_irq_mask(struct irq_data *irq_data) in zynq_gpio_irq_mask() argument 410 device_pin_num = irq_data->hwirq; in zynq_gpio_irq_mask() 425 static void zynq_gpio_irq_unmask(struct irq_data *irq_data) in zynq_gpio_irq_unmask() argument 431 device_pin_num = irq_data->hwirq; in zynq_gpio_irq_unmask() 445 static void zynq_gpio_irq_ack(struct irq_data *irq_data) in zynq_gpio_irq_ack() argument 451 device_pin_num = irq_data->hwirq; in zynq_gpio_irq_ack() 464 static void zynq_gpio_irq_enable(struct irq_data *irq_data) in zynq_gpio_irq_enable() argument 476 zynq_gpio_irq_ack(irq_data); in zynq_gpio_irq_enable() 477 zynq_gpio_irq_unmask(irq_data); in zynq_gpio_irq_enable() 495 static int zynq_gpio_set_irq_type(struct irq_data *irq_data, unsigned int type) in zynq_gpio_set_irq_type() argument [all …]
|
/linux/arch/powerpc/platforms/52xx/ |
A D | mpc52xx_pic.c | 158 static void mpc52xx_extirq_mask(struct irq_data *d) in mpc52xx_extirq_mask() 164 static void mpc52xx_extirq_unmask(struct irq_data *d) in mpc52xx_extirq_unmask() 170 static void mpc52xx_extirq_ack(struct irq_data *d) in mpc52xx_extirq_ack() 215 static int mpc52xx_null_set_type(struct irq_data *d, unsigned int flow_type) in mpc52xx_null_set_type() 220 static void mpc52xx_main_mask(struct irq_data *d) in mpc52xx_main_mask() 226 static void mpc52xx_main_unmask(struct irq_data *d) in mpc52xx_main_unmask() 243 static void mpc52xx_periph_mask(struct irq_data *d) in mpc52xx_periph_mask() 249 static void mpc52xx_periph_unmask(struct irq_data *d) in mpc52xx_periph_unmask() 266 static void mpc52xx_sdma_mask(struct irq_data *d) in mpc52xx_sdma_mask() 272 static void mpc52xx_sdma_unmask(struct irq_data *d) in mpc52xx_sdma_unmask() [all …]
|