Home
last modified time | relevance | path

Searched refs:irq_data (Results 1 – 25 of 760) sorted by relevance

12345678910>>...31

/openbmc/linux/include/linux/
H A Dirq.h179 struct irq_data { struct
187 struct irq_data *parent_data; argument
256 static inline bool irqd_is_setaffinity_pending(struct irq_data *d) in irqd_is_setaffinity_pending()
261 static inline bool irqd_is_per_cpu(struct irq_data *d) in irqd_is_per_cpu()
266 static inline bool irqd_can_balance(struct irq_data *d) in irqd_can_balance()
271 static inline bool irqd_affinity_was_set(struct irq_data *d) in irqd_affinity_was_set()
276 static inline void irqd_mark_affinity_was_set(struct irq_data *d) in irqd_mark_affinity_was_set()
281 static inline bool irqd_trigger_type_was_set(struct irq_data *d) in irqd_trigger_type_was_set()
286 static inline u32 irqd_get_trigger_type(struct irq_data *d) in irqd_get_trigger_type()
295 static inline void irqd_set_trigger_type(struct irq_data *d, u32 type) in irqd_set_trigger_type()
[all …]
H A Dirqdesc.h57 struct irq_data irq_data; member
125 static inline struct irq_desc *irq_data_to_desc(struct irq_data *data) in irq_data_to_desc()
132 return desc->irq_data.irq; in irq_desc_get_irq()
135 static inline struct irq_data *irq_desc_get_irq_data(struct irq_desc *desc) in irq_desc_get_irq_data()
137 return &desc->irq_data; in irq_desc_get_irq_data()
142 return desc->irq_data.chip; in irq_desc_get_chip()
147 return desc->irq_data.chip_data; in irq_desc_get_chip_data()
195 static inline void irq_set_handler_locked(struct irq_data *data, in irq_set_handler_locked()
216 irq_set_chip_handler_name_locked(struct irq_data *data, in irq_set_chip_handler_name_locked()
/openbmc/linux/kernel/irq/
H A Dchip.c49 desc->irq_data.chip = (struct irq_chip *)(chip ?: &no_irq_chip); in irq_set_chip()
149 desc->irq_data.chip_data = data; in irq_set_chip_data()
155 struct irq_data *irq_get_irq_data(unsigned int irq) in irq_get_irq_data()
159 return desc ? &desc->irq_data : NULL; in irq_get_irq_data()
165 irqd_clear(&desc->irq_data, IRQD_IRQ_DISABLED); in irq_state_clr_disabled()
170 irqd_clear(&desc->irq_data, IRQD_IRQ_MASKED); in irq_state_clr_masked()
175 irqd_clear(&desc->irq_data, IRQD_IRQ_STARTED); in irq_state_clr_started()
180 irqd_set(&desc->irq_data, IRQD_IRQ_STARTED); in irq_state_set_started()
194 struct irq_data *d = irq_desc_get_irq_data(desc); in __irq_startup_managed()
237 struct irq_data *d = irq_desc_get_irq_data(desc); in __irq_startup()
[all …]
H A Dirqdomain.c521 struct irq_data *irq_data) in irq_domain_set_mapping() argument
533 rcu_assign_pointer(domain->revmap[hwirq], irq_data); in irq_domain_set_mapping()
535 radix_tree_insert(&domain->revmap_tree, hwirq, irq_data); in irq_domain_set_mapping()
540 struct irq_data *irq_data = irq_get_irq_data(irq); in irq_domain_disassociate() local
543 if (WARN(!irq_data || irq_data->domain != domain, in irq_domain_disassociate()
547 hwirq = irq_data->hwirq; in irq_domain_disassociate()
564 irq_data->domain = NULL; in irq_domain_disassociate()
565 irq_data->hwirq = 0; in irq_domain_disassociate()
577 struct irq_data *irq_data = irq_get_irq_data(virq); in irq_domain_associate_locked() local
583 if (WARN(!irq_data, "error: virq%i is not allocated", virq)) in irq_domain_associate_locked()
[all …]
H A Dinternals.h107 extern int __irq_get_irqchip_state(struct irq_data *data,
142 extern int irq_do_set_affinity(struct irq_data *data,
154 if (unlikely(desc->irq_data.chip->irq_bus_lock)) in chip_bus_lock()
155 desc->irq_data.chip->irq_bus_lock(&desc->irq_data); in chip_bus_lock()
160 if (unlikely(desc->irq_data.chip->irq_bus_sync_unlock)) in chip_bus_sync_unlock()
161 desc->irq_data.chip->irq_bus_sync_unlock(&desc->irq_data); in chip_bus_sync_unlock()
204 static inline unsigned int irqd_get(struct irq_data *d) in irqd_get()
212 static inline void irqd_set_move_pending(struct irq_data *d) in irqd_set_move_pending()
217 static inline void irqd_clr_move_pending(struct irq_data *d) in irqd_clr_move_pending()
222 static inline void irqd_set_managed_shutdown(struct irq_data *d) in irqd_set_managed_shutdown()
[all …]
H A Dmanage.c40 struct irq_data *irqd = irq_desc_get_irq_data(desc); in __synchronize_hardirq()
50 while (irqd_irq_inprogress(&desc->irq_data)) in __synchronize_hardirq()
55 inprogress = irqd_irq_inprogress(&desc->irq_data); in __synchronize_hardirq()
150 if (!desc || !irqd_can_balance(&desc->irq_data) || in __irq_can_set_affinity()
151 !desc->irq_data.chip || !desc->irq_data.chip->irq_set_affinity) in __irq_can_set_affinity()
178 !irqd_affinity_is_managed(&desc->irq_data); in irq_can_set_affinity_usr()
203 static void irq_validate_effective_affinity(struct irq_data *data) in irq_validate_effective_affinity()
214 static inline void irq_validate_effective_affinity(struct irq_data *data) { } in irq_validate_effective_affinity()
217 int irq_do_set_affinity(struct irq_data *data, const struct cpumask *mask, in irq_do_set_affinity()
296 static inline int irq_set_affinity_pending(struct irq_data *data, in irq_set_affinity_pending()
[all …]
/openbmc/linux/drivers/iommu/
H A Dhyperv-iommu.c39 static int hyperv_ir_set_affinity(struct irq_data *data, in hyperv_ir_set_affinity()
42 struct irq_data *parent = data->parent_data; in hyperv_ir_set_affinity()
70 struct irq_data *irq_data; in hyperv_irq_remapping_alloc() local
80 irq_data = irq_domain_get_irq_data(domain, virq); in hyperv_irq_remapping_alloc()
81 if (!irq_data) { in hyperv_irq_remapping_alloc()
86 irq_data->chip = &hyperv_ir_chip; in hyperv_irq_remapping_alloc()
92 irq_data_update_affinity(irq_data, &ioapic_max_cpumask); in hyperv_irq_remapping_alloc()
194 hyperv_root_ir_compose_msi_msg(struct irq_data *irq_data, struct msi_msg *msg) in hyperv_root_ir_compose_msi_msg() argument
203 struct hyperv_root_ir_data *data = irq_data->chip_data; in hyperv_root_ir_compose_msi_msg()
206 cfg = irqd_cfg(irq_data); in hyperv_root_ir_compose_msi_msg()
[all …]
/openbmc/linux/arch/x86/platform/uv/
H A Duv_irq.c48 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 …]
/openbmc/linux/Documentation/translations/zh_CN/core-api/
H A Dgenericirq.rst107 这个高层IRQ处理函数只使用由分配的芯片描述符结构体引用的desc->irq_data.chip
176 default_enable(struct irq_data *data)
178 desc->irq_data.chip->irq_unmask(data);
181 default_disable(struct irq_data *data)
184 desc->irq_data.chip->irq_mask(data);
187 default_ack(struct irq_data *data)
192 default_mask_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();
[all …]
/openbmc/linux/arch/sparc/kernel/
H A Dprom_irqtrans.c118 struct sabre_irq_data *irq_data = _arg2; in sabre_wsync_handler() local
119 unsigned long controller_regs = irq_data->controller_regs; in sabre_wsync_handler()
226 struct sabre_irq_data *irq_data = _data; in sabre_irq_build() local
227 unsigned long controller_regs = irq_data->controller_regs; in sabre_irq_build()
264 (void *) irq_data); in sabre_irq_build()
273 struct sabre_irq_data *irq_data; in sabre_irq_trans_init() local
279 irq_data = prom_early_alloc(sizeof(struct sabre_irq_data)); in sabre_irq_trans_init()
282 irq_data->controller_regs = regs[0].phys_addr; in sabre_irq_trans_init()
285 irq_data->pci_first_busno = busrange[0]; in sabre_irq_trans_init()
287 dp->irq_trans->data = irq_data; in sabre_irq_trans_init()
[all …]
/openbmc/linux/drivers/mfd/
H A Drc5t583-irq.c140 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
148 struct rc5t583 *rc5t583 = irq_data_get_irq_chip_data(irq_data); in rc5t583_irq_unmask()
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
159 struct rc5t583 *rc5t583 = irq_data_get_irq_chip_data(irq_data); in rc5t583_irq_mask()
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
172 struct rc5t583 *rc5t583 = irq_data_get_irq_chip_data(irq_data); in rc5t583_irq_set_type()
[all …]
H A Dqcom-pm8008.c88 const struct regmap_irq *irq_data, int idx, in pm8008_set_type_config() argument
94 buf[POLARITY_HI_INDEX][idx] &= ~irq_data->mask; in pm8008_set_type_config()
95 buf[POLARITY_LO_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config()
100 buf[POLARITY_HI_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config()
101 buf[POLARITY_LO_INDEX][idx] &= ~irq_data->mask; in pm8008_set_type_config()
105 buf[POLARITY_HI_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config()
106 buf[POLARITY_LO_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config()
114 buf[SET_TYPE_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config()
116 buf[SET_TYPE_INDEX][idx] &= ~irq_data->mask; in pm8008_set_type_config()
152 struct regmap_irq_chip_data *irq_data; in pm8008_probe_irq_peripherals() local
[all …]
H A Dmax8925-core.c474 struct max8925_irq_data *irq_data; in max8925_irq() local
480 irq_data = &max8925_irqs[i]; in max8925_irq()
482 if (irq_data->tsc_irq) in max8925_irq()
484 if (irq_data->flags == FLAGS_RTC) in max8925_irq()
486 else if (irq_data->flags == FLAGS_ADC) in max8925_irq()
490 if (read_reg != irq_data->reg) { in max8925_irq()
491 read_reg = irq_data->reg; in max8925_irq()
492 value = max8925_reg_read(i2c, irq_data->reg); in max8925_irq()
494 if (value & irq_data->enable) in max8925_irq()
503 struct max8925_irq_data *irq_data; in max8925_tsc_irq() local
[all …]
H A Dmt6358-irq.c75 static void pmic_irq_enable(struct irq_data *data) in pmic_irq_enable()
79 struct pmic_irq_data *irqd = chip->irq_data; in pmic_irq_enable()
84 static void pmic_irq_disable(struct irq_data *data) in pmic_irq_disable()
88 struct pmic_irq_data *irqd = chip->irq_data; in pmic_irq_disable()
93 static void pmic_irq_lock(struct irq_data *data) in pmic_irq_lock()
100 static void pmic_irq_sync_unlock(struct irq_data *data) in pmic_irq_sync_unlock()
104 struct pmic_irq_data *irqd = chip->irq_data; in pmic_irq_sync_unlock()
146 struct pmic_irq_data *irqd = chip->irq_data; in mt6358_irq_sp_handler()
183 struct pmic_irq_data *irqd = chip->irq_data; in mt6358_irq_handler()
234 chip->irq_data = &mt6357_irqd; in mt6358_irq_init()
[all …]
H A Dmax8998-irq.c95 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()
/openbmc/linux/drivers/irqchip/
H A Dirq-partition-percpu.c31 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()
83 static int partition_irq_set_type(struct irq_data *d, unsigned int type) in partition_irq_set_type()
87 struct irq_data *data = irq_desc_get_irq_data(part->chained_desc); in partition_irq_set_type()
[all …]
H A Dirq-xtensa-pic.c45 static void xtensa_irq_mask(struct irq_data *d) in xtensa_irq_mask()
51 static void xtensa_irq_unmask(struct irq_data *d) in xtensa_irq_unmask()
57 static void xtensa_irq_enable(struct irq_data *d) in xtensa_irq_enable()
62 static void xtensa_irq_disable(struct irq_data *d) in xtensa_irq_disable()
67 static void xtensa_irq_ack(struct irq_data *d) in xtensa_irq_ack()
72 static int xtensa_irq_retrigger(struct irq_data *d) in xtensa_irq_retrigger()
/openbmc/linux/drivers/regulator/
H A Dtps6594-regulator.c351 struct tps6594_regulator_irq_data *irq_data = data; in tps6594_regulator_irq_handler() local
353 if (irq_data->type->event_name[0] == '\0') { in tps6594_regulator_irq_handler()
355 dev_err(irq_data->dev, in tps6594_regulator_irq_handler()
360 dev_err(irq_data->dev, "Error IRQ trap %s for %s\n", in tps6594_regulator_irq_handler()
361 irq_data->type->event_name, irq_data->type->regulator_name); in tps6594_regulator_irq_handler()
363 regulator_notifier_call_chain(irq_data->rdev, in tps6594_regulator_irq_handler()
364 irq_data->type->event, NULL); in tps6594_regulator_irq_handler()
371 struct tps6594_regulator_irq_data *irq_data, in tps6594_request_reg_irqs() argument
387 irq_data[*irq_idx].dev = tps->dev; in tps6594_request_reg_irqs()
388 irq_data[*irq_idx].type = irq_type; in tps6594_request_reg_irqs()
[all …]
H A Dtps65219-regulator.c273 struct tps65219_regulator_irq_data *irq_data = data; in tps65219_regulator_irq_handler() local
275 if (irq_data->type->event_name[0] == '\0') { in tps65219_regulator_irq_handler()
277 dev_err(irq_data->dev, in tps65219_regulator_irq_handler()
282 regulator_notifier_call_chain(irq_data->rdev, in tps65219_regulator_irq_handler()
283 irq_data->type->event, NULL); in tps65219_regulator_irq_handler()
285 dev_err(irq_data->dev, "Error IRQ trap %s for %s\n", in tps65219_regulator_irq_handler()
286 irq_data->type->event_name, irq_data->type->regulator_name); in tps65219_regulator_irq_handler()
313 struct tps65219_regulator_irq_data *irq_data; in tps65219_regulator_probe() local
334 irq_data = devm_kmalloc(tps->dev, in tps65219_regulator_probe()
338 if (!irq_data) in tps65219_regulator_probe()
[all …]
/openbmc/linux/drivers/staging/board/
H A Dboard.c76 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()
/openbmc/linux/drivers/gpio/
H A Dgpio-zynq.c404 static void zynq_gpio_irq_mask(struct irq_data *irq_data) in zynq_gpio_irq_mask() argument
407 const unsigned long offset = irqd_to_hwirq(irq_data); in zynq_gpio_irq_mask()
408 struct gpio_chip *chip = irq_data_get_irq_chip_data(irq_data); in zynq_gpio_irq_mask()
410 gpiochip_get_data(irq_data_get_irq_chip_data(irq_data)); in zynq_gpio_irq_mask()
413 device_pin_num = irq_data->hwirq; in zynq_gpio_irq_mask()
428 static void zynq_gpio_irq_unmask(struct irq_data *irq_data) in zynq_gpio_irq_unmask() argument
431 const unsigned long offset = irqd_to_hwirq(irq_data); in zynq_gpio_irq_unmask()
432 struct gpio_chip *chip = irq_data_get_irq_chip_data(irq_data); in zynq_gpio_irq_unmask()
434 gpiochip_get_data(irq_data_get_irq_chip_data(irq_data)); in zynq_gpio_irq_unmask()
437 device_pin_num = irq_data->hwirq; in zynq_gpio_irq_unmask()
[all …]
/openbmc/linux/arch/x86/kernel/apic/
H A Dio_apic.c437 static void mask_ioapic_irq(struct irq_data *irq_data) in mask_ioapic_irq() argument
439 struct mp_chip_data *data = irq_data->chip_data; in mask_ioapic_irq()
452 static void unmask_ioapic_irq(struct irq_data *irq_data) in unmask_ioapic_irq() argument
454 struct mp_chip_data *data = irq_data->chip_data; in unmask_ioapic_irq()
986 struct irq_data *irq_data = irq_get_irq_data(irq); in alloc_isa_irq_from_domain() local
994 if (irq_data && irq_data->parent_data) { in alloc_isa_irq_from_domain()
997 if (!add_pin_to_irq_node(irq_data->chip_data, node, ioapic, info->ioapic.pin)) in alloc_isa_irq_from_domain()
1004 irq_data = irq_domain_get_irq_data(domain, irq); in alloc_isa_irq_from_domain()
1005 data = irq_data->chip_data; in alloc_isa_irq_from_domain()
1117 struct irq_data *irq_data = irq_get_irq_data(irq); in mp_unmap_irq() local
[all …]
/openbmc/linux/arch/m68k/atari/
H A Dataints.c86 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()
/openbmc/linux/include/linux/irqchip/
H A Dchained_irq.h24 chip->irq_mask_ack(&desc->irq_data); in chained_irq_enter()
26 chip->irq_mask(&desc->irq_data); in chained_irq_enter()
28 chip->irq_ack(&desc->irq_data); in chained_irq_enter()
36 chip->irq_eoi(&desc->irq_data); in chained_irq_exit()
38 chip->irq_unmask(&desc->irq_data); in chained_irq_exit()
/openbmc/linux/drivers/usb/typec/tcpm/qcom/
H A Dqcom_pmic_typec_pdphy.c32 struct pmic_typec_pdphy_irq_data *irq_data; member
308 struct pmic_typec_pdphy_irq_data *irq_data = dev_id; in qcom_pmic_typec_pdphy_isr() local
309 struct pmic_typec_pdphy *pmic_typec_pdphy = irq_data->pmic_typec_pdphy; in qcom_pmic_typec_pdphy_isr()
312 switch (irq_data->virq) { in qcom_pmic_typec_pdphy_isr()
455 enable_irq(pmic_typec_pdphy->irq_data[i].irq); in qcom_pmic_typec_pdphy_start()
465 disable_irq(pmic_typec_pdphy->irq_data[i].irq); in qcom_pmic_typec_pdphy_stop()
484 struct pmic_typec_pdphy_irq_data *irq_data; in qcom_pmic_typec_pdphy_probe() local
490 irq_data = devm_kzalloc(dev, sizeof(*irq_data) * res->nr_irqs, in qcom_pmic_typec_pdphy_probe()
492 if (!irq_data) in qcom_pmic_typec_pdphy_probe()
503 pmic_typec_pdphy->irq_data = irq_data; in qcom_pmic_typec_pdphy_probe()
[all …]

12345678910>>...31