Home
last modified time | relevance | path

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

12345678910>>...29

/linux/include/linux/
H A Dirq.h164 * struct irq_data - per irq chip data passed down to chip functions
172 * @parent_data: pointer to parent struct irq_data to support hierarchy
177 struct irq_data { struct
185 struct irq_data *parent_data; argument
251 static inline bool irqd_is_setaffinity_pending(struct irq_data *d) in irqd_is_setaffinity_pending()
256 static inline bool irqd_is_per_cpu(struct irq_data *d) in irqd_is_per_cpu()
261 static inline bool irqd_can_balance(struct irq_data *d) in irqd_can_balance()
266 static inline bool irqd_affinity_was_set(struct irq_data *d) in irqd_affinity_was_set()
271 static inline void irqd_mark_affinity_was_set(struct irq_data *d) in irqd_mark_affinity_was_set()
276 static inline bool irqd_trigger_type_was_set(struct irq_data *
187 chip_datairq_data global() argument
[all...]
/linux/kernel/irq/
H A Dchip.c46 scoped_irqdesc->irq_data.chip = (struct irq_chip *)(chip ?: &no_irq_chip); in irq_set_chip()
127 scoped_irqdesc->irq_data.chip_data = data; in irq_set_chip_data()
134 struct irq_data *irq_get_irq_data(unsigned int irq) in irq_get_irq_data()
138 return desc ? &desc->irq_data : NULL; in irq_get_irq_data()
144 irqd_clear(&desc->irq_data, IRQD_IRQ_DISABLED); in irq_state_clr_disabled()
149 irqd_clear(&desc->irq_data, IRQD_IRQ_MASKED); in irq_state_clr_masked()
154 irqd_clear(&desc->irq_data, IRQD_IRQ_STARTED); in irq_state_clr_started()
159 irqd_set(&desc->irq_data, IRQD_IRQ_STARTED); in irq_state_set_started()
173 struct irq_data *d = irq_desc_get_irq_data(desc); in __irq_startup_managed()
208 struct irq_data * in irq_startup_managed()
964 struct irq_data *irq_data = &desc->irq_data; __irq_do_set_handler() local
[all...]
H A Dmanage.c38 static int __irq_get_irqchip_state(struct irq_data *d, enum irqchip_irq_state which, bool *state);
42 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()
147 if (!desc || !irqd_can_balance(&desc->irq_data) || in __irq_can_set_affinity()
148 !desc->irq_data.chip || !desc->irq_data.chip->irq_set_affinity) in __irq_can_set_affinity()
175 !irqd_affinity_is_managed(&desc->irq_data); in irq_can_set_affinity_usr()
204 static void irq_validate_effective_affinity(struct irq_data *data) in irq_validate_effective_affinity()
215 static inline void irq_validate_effective_affinity(struct irq_data *dat
[all...]
H A Dinternals.h136 extern int irq_do_set_affinity(struct irq_data *data,
152 if (unlikely(desc->irq_data.chip->irq_bus_lock)) in chip_bus_lock()
153 desc->irq_data.chip->irq_bus_lock(&desc->irq_data); in chip_bus_lock()
158 if (unlikely(desc->irq_data.chip->irq_bus_sync_unlock)) in chip_bus_sync_unlock()
159 desc->irq_data.chip->irq_bus_sync_unlock(&desc->irq_data); in chip_bus_sync_unlock()
197 static inline unsigned int irqd_get(struct irq_data *d) in irqd_get()
203 * Manipulation functions for irq_data.state
205 static inline void irqd_set_move_pending(struct irq_data *
[all...]
H A Dmigration.c20 struct irq_data *data = irq_desc_get_irq_data(desc); in irq_fixup_move_pending()
40 for (struct irq_data *d = irq_desc_get_irq_data(desc); d; d = irqd_get_parent_data(d)) { in irq_force_complete_move()
48 void irq_move_masked_irq(struct irq_data *idata) in irq_move_masked_irq()
51 struct irq_data *data = &desc->irq_data; in irq_move_masked_irq()
104 void __irq_move_irq(struct irq_data *idata) in __irq_move_irq()
109 * Get top level irq_data when CONFIG_IRQ_DOMAIN_HIERARCHY is enabled, in __irq_move_irq()
131 bool irq_can_move_in_process_context(struct irq_data *data) in irq_can_move_in_process_context()
134 * Get the top level irq_data in the hierarchy, which is optimized in irq_can_move_in_process_context()
/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, struc argument
268 struct irq_data *irq_data; hyperv_root_irq_remapping_alloc() local
304 struct irq_data *irq_data; hyperv_root_irq_remapping_free() local
[all...]
/linux/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dcn20k.c160 struct pf_irq_data *irq_data = pf_irq; in cn20k_pfvf_mbox_intr_handler() local
161 struct otx2_nic *pf = irq_data->pf; in cn20k_pfvf_mbox_intr_handler()
169 intr = otx2_read64(pf, irq_data->intr_status); in cn20k_pfvf_mbox_intr_handler()
170 otx2_write64(pf, irq_data->intr_status, intr); in cn20k_pfvf_mbox_intr_handler()
176 irq_data->pf_queue_work_hdlr(mbox, pf->mbox_pfvf_wq, irq_data->start, in cn20k_pfvf_mbox_intr_handler()
177 irq_data->mdevs, intr); in cn20k_pfvf_mbox_intr_handler()
185 struct pf_irq_data *irq_data; in cn20k_register_pfvf_mbox_intr() local
190 irq_data = devm_kcalloc(pf->dev, 4, in cn20k_register_pfvf_mbox_intr()
192 if (!irq_data) in cn20k_register_pfvf_mbox_intr()
[all...]
/linux/drivers/net/ethernet/marvell/octeontx2/af/cn20k/
H A Dmbox_init.c40 struct rvu_irq_data *irq_data; in cn20k_register_afvf_mbox_intr() local
45 irq_data = devm_kcalloc(rvu->dev, 4, in cn20k_register_afvf_mbox_intr()
47 if (!irq_data) in cn20k_register_afvf_mbox_intr()
55 irq_data[vec].intr_status = in cn20k_register_afvf_mbox_intr()
57 irq_data[vec].start = 0; in cn20k_register_afvf_mbox_intr()
58 irq_data[vec].mdevs = 64; in cn20k_register_afvf_mbox_intr()
61 irq_data[vec].intr_status = in cn20k_register_afvf_mbox_intr()
63 irq_data[vec].start = 64; in cn20k_register_afvf_mbox_intr()
64 irq_data[vec].mdevs = 64; in cn20k_register_afvf_mbox_intr()
67 irq_data[ve in cn20k_register_afvf_mbox_intr()
173 struct rvu_irq_data *irq_data; cn20k_register_afpf_mbox_intr() local
[all...]
/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()
110 struct irq_data *irq_data = irq_domain_get_irq_data(domain, virq); in uv_domain_free() local
113 kfree(irq_data->chip_data); in uv_domain_free()
123 struct irq_data *irq_dat in uv_domain_activate() argument
134 uv_domain_deactivate(struct irq_domain * domain,struct irq_data * irq_data) uv_domain_deactivate() argument
[all...]
/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
[all...]
/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()
383 struct schizo_irq_data *irq_data = _data; schizo_irq_build() local
431 struct schizo_irq_data *irq_data; __schizo_irq_trans_init() local
515 struct fire_irq_data *irq_data = _data; fire_irq_build() local
546 struct fire_irq_data *irq_data; fire_irq_trans_init() local
[all...]
/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()
170 rc5t583_irq_set_type(struct irq_data * irq_data,unsigned int type) rc5t583_irq_set_type() argument
198 rc5t583_irq_sync_unlock(struct irq_data * irq_data) rc5t583_irq_sync_unlock() argument
232 rc5t583_irq_set_wake(struct irq_data * irq_data,unsigned int on) rc5t583_irq_set_wake() argument
[all...]
H A Dqcom-pm8008.c109 const struct regmap_irq *irq_data, int idx, in pm8008_set_type_config() argument
115 buf[POLARITY_HI_INDEX][idx] &= ~irq_data->mask; in pm8008_set_type_config()
116 buf[POLARITY_LO_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config()
121 buf[POLARITY_HI_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config()
122 buf[POLARITY_LO_INDEX][idx] &= ~irq_data->mask; in pm8008_set_type_config()
126 buf[POLARITY_HI_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config()
127 buf[POLARITY_LO_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config()
135 buf[SET_TYPE_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config()
137 buf[SET_TYPE_INDEX][idx] &= ~irq_data->mask; in pm8008_set_type_config()
195 struct regmap_irq_chip_data *irq_data; in pm8008_probe() 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
539 struct max8925_irq_data *irq_data; max8925_irq_sync_unlock() local
[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 in max8998_irq_mask()
[all...]
/linux/drivers/regulator/
H A Dtps65219-regulator.c340 struct tps65219_regulator_irq_data *irq_data = data; in tps65219_regulator_irq_handler() local
342 if (irq_data->type->event_name[0] == '\0') { in tps65219_regulator_irq_handler()
344 dev_err(irq_data->dev, in tps65219_regulator_irq_handler()
349 regulator_notifier_call_chain(irq_data->rdev, in tps65219_regulator_irq_handler()
350 irq_data->type->event, NULL); in tps65219_regulator_irq_handler()
352 dev_err(irq_data->dev, "Error IRQ trap %s for %s\n", in tps65219_regulator_irq_handler()
353 irq_data->type->event_name, irq_data->type->regulator_name); in tps65219_regulator_irq_handler()
403 struct tps65219_regulator_irq_data *irq_data; in tps65219_regulator_probe() local
445 irq_data in tps65219_regulator_probe()
[all...]
/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 *dat in partition_irq_set_type()
[all...]
H A Dirq-gic-v5.c121 static void gicv5_ppi_irq_mask(struct irq_data *d) in gicv5_ppi_irq_mask()
139 static void gicv5_iri_irq_mask(struct irq_data *d, u8 hwirq_type) in gicv5_iri_irq_mask()
160 static void gicv5_spi_irq_mask(struct irq_data *d) in gicv5_spi_irq_mask()
165 static void gicv5_lpi_irq_mask(struct irq_data *d) in gicv5_lpi_irq_mask()
170 static void gicv5_ppi_irq_unmask(struct irq_data *d) in gicv5_ppi_irq_unmask()
188 static void gicv5_iri_irq_unmask(struct irq_data *d, u8 hwirq_type) in gicv5_iri_irq_unmask()
202 static void gicv5_spi_irq_unmask(struct irq_data *d) in gicv5_spi_irq_unmask()
207 static void gicv5_lpi_irq_unmask(struct irq_data *d) in gicv5_lpi_irq_unmask()
224 static void gicv5_ppi_irq_eoi(struct irq_data *d) in gicv5_ppi_irq_eoi()
235 static void gicv5_spi_irq_eoi(struct irq_data *
[all...]
/linux/arch/x86/kernel/apic/
H A Dio_apic.c402 static void mask_ioapic_irq(struct irq_data *irq_data) in mask_ioapic_irq() argument
404 struct mp_chip_data *data = irq_data->chip_data; in mask_ioapic_irq()
415 static void unmask_ioapic_irq(struct irq_data *irq_data) in unmask_ioapic_irq() argument
417 struct mp_chip_data *data = irq_data->chip_data; in unmask_ioapic_irq()
926 struct irq_data *irq_data = irq_get_irq_data(irq); in alloc_isa_irq_from_domain() local
935 if (irq_data && irq_data in alloc_isa_irq_from_domain()
1049 struct irq_data *irq_data = irq_get_irq_data(irq); mp_unmap_irq() local
1657 ioapic_ack_level(struct irq_data * irq_data) ioapic_ack_level() argument
1723 ioapic_ir_ack_level(struct irq_data * irq_data) ioapic_ir_ack_level() argument
1753 ioapic_setup_msg_from_msi(struct irq_data * irq_data,struct IO_APIC_route_entry * entry) ioapic_setup_msg_from_msi() argument
1797 ioapic_set_affinity(struct irq_data * irq_data,const struct cpumask * mask,bool force) ioapic_set_affinity() argument
2053 struct irq_data *irq_data = irq_get_irq_data(0); check_timer() local
2855 struct irq_data *irq_data; mp_irqdomain_alloc() local
2912 struct irq_data *irq_data; mp_irqdomain_free() local
2926 mp_irqdomain_activate(struct irq_domain * domain,struct irq_data * irq_data,bool reserve) mp_irqdomain_activate() argument
2934 mp_irqdomain_deactivate(struct irq_domain * domain,struct irq_data * irq_data) mp_irqdomain_deactivate() argument
[all...]
/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()
/linux/drivers/gpio/
H A Dgpio-zynq.c400 * @irq_data: per irq and chip data passed down to chip functions
406 static void zynq_gpio_irq_mask(struct irq_data *irq_data) in zynq_gpio_irq_mask() argument
409 const unsigned long offset = irqd_to_hwirq(irq_data); in zynq_gpio_irq_mask()
410 struct gpio_chip *chip = irq_data_get_irq_chip_data(irq_data); in zynq_gpio_irq_mask()
412 gpiochip_get_data(irq_data_get_irq_chip_data(irq_data)); in zynq_gpio_irq_mask()
415 device_pin_num = irq_data->hwirq; in zynq_gpio_irq_mask()
423 * @irq_data: irq data containing irq number of gpio pin for the interrupt
430 static void zynq_gpio_irq_unmask(struct irq_data *irq_data) in zynq_gpio_irq_unmask() argument
453 zynq_gpio_irq_ack(struct irq_data * irq_data) zynq_gpio_irq_ack() argument
472 zynq_gpio_irq_enable(struct irq_data * irq_data) zynq_gpio_irq_enable() argument
503 zynq_gpio_set_irq_type(struct irq_data * irq_data,unsigned int type) zynq_gpio_set_irq_type() argument
[all...]
/linux/arch/m68k/atari/
H A Dataints.c85 static unsigned int atari_irq_startup(struct irq_data *data) in atari_irq_startup()
95 static void atari_irq_shutdown(struct irq_data *data) in atari_irq_shutdown()
107 static void atari_irq_enable(struct irq_data *data) in atari_irq_enable()
112 static void atari_irq_disable(struct irq_data *data) in atari_irq_disable()
160 static void atari_mfptimer_enable(struct irq_data *data) in atari_mfptimer_enable()
167 static void atari_mfptimer_disable(struct irq_data *data) in atari_mfptimer_disable()
193 static unsigned int atari_ethernat_startup(struct irq_data *data) in atari_ethernat_startup()
215 static void atari_ethernat_enable(struct irq_data *data) in atari_ethernat_enable()
226 static void atari_ethernat_disable(struct irq_data *data) in atari_ethernat_disable()
237 static void atari_ethernat_shutdown(struct irq_data *dat
[all...]
/linux/arch/m68k/mac/
H A Dmacints.c131 static unsigned int mac_irq_startup(struct irq_data *);
132 static void mac_irq_shutdown(struct irq_data *);
188 void mac_irq_enable(struct irq_data *data) in mac_irq_enable()
218 void mac_irq_disable(struct irq_data *data) in mac_irq_disable()
248 static unsigned int mac_irq_startup(struct irq_data *data) in mac_irq_startup()
260 static void mac_irq_shutdown(struct irq_data *data) in mac_irq_shutdown()
/linux/drivers/gpu/drm/amd/display/dc/link/protocols/
H A Dlink_dp_irq_handler.c315 static void read_dpcd204h_on_irq_hpd(struct dc_link *link, union hpd_irq_data *irq_data) in read_dpcd204h_on_irq_hpd() argument
327 irq_data->bytes.lane_status_updated.bits.EQ_INTERLANE_ALIGN_DONE_128b_132b = in read_dpcd204h_on_irq_hpd()
329 irq_data->bytes.lane_status_updated.bits.CDS_INTERLANE_ALIGN_DONE_128b_132b = in read_dpcd204h_on_irq_hpd()
336 union hpd_irq_data *irq_data) in dp_read_hpd_rx_irq_data() argument
352 irq_data->raw, in dp_read_hpd_rx_irq_data()
358 &irq_data->bytes.link_service_irq_esi0.raw, 1); in dp_read_hpd_rx_irq_data()
375 irq_data->bytes.sink_cnt.raw = tmp[DP_SINK_COUNT_ESI - DP_SINK_COUNT_ESI]; in dp_read_hpd_rx_irq_data()
376 irq_data->bytes.device_service_irq.raw = tmp[DP_DEVICE_SERVICE_IRQ_VECTOR_ESI0 - DP_SINK_COUNT_ESI]; in dp_read_hpd_rx_irq_data()
377 irq_data->bytes.lane01_status.raw = tmp[DP_LANE0_1_STATUS_ESI - DP_SINK_COUNT_ESI]; in dp_read_hpd_rx_irq_data()
378 irq_data in dp_read_hpd_rx_irq_data()
[all...]
/linux/arch/x86/include/asm/
H A Dirqdomain.h26 struct irq_data;
48 struct irq_data *irq_data, bool reserve);
50 struct irq_data *irq_data);

12345678910>>...29