Home
last modified time | relevance | path

Searched refs:irqd (Results 1 – 25 of 41) sorted by relevance

12

/linux/arch/x86/kernel/apic/
H A Dvector.c89 static struct apic_chip_data *apic_chip_data(struct irq_data *irqd) in apic_chip_data() argument
91 if (!irqd) in apic_chip_data()
94 while (irqd->parent_data) in apic_chip_data()
95 irqd = irqd->parent_data; in apic_chip_data()
97 return irqd->chip_data; in apic_chip_data()
100 struct irq_cfg *irqd_cfg(struct irq_data *irqd) in irqd_cfg() argument
102 struct apic_chip_data *apicd = apic_chip_data(irqd); in irqd_cfg()
128 static void apic_update_irq_cfg(struct irq_data *irqd, unsigned int vector, in apic_update_irq_cfg() argument
131 struct apic_chip_data *apicd = apic_chip_data(irqd); in apic_update_irq_cfg()
140 irq_data_update_effective_affinity(irqd, cpumask_of(cpu)); in apic_update_irq_cfg()
[all …]
H A Dmsi.c26 static void irq_msi_update_msg(struct irq_data *irqd, struct irq_cfg *cfg) in irq_msi_update_msg() argument
31 irq_data_get_irq_chip(irqd)->irq_write_msi_msg(irqd, msg); in irq_msi_update_msg()
35 msi_set_affinity(struct irq_data *irqd, const struct cpumask *mask, bool force) in msi_set_affinity() argument
37 struct irq_cfg old_cfg, *cfg = irqd_cfg(irqd); in msi_set_affinity()
38 struct irq_data *parent = irqd->parent_data; in msi_set_affinity()
43 cpu = cpumask_first(irq_data_get_effective_affinity_mask(irqd)); in msi_set_affinity()
65 if (!irqd_can_reserve(irqd) || in msi_set_affinity()
68 !irqd_is_started(irqd) || in msi_set_affinity()
70 irq_msi_update_msg(irqd, cfg); in msi_set_affinity()
79 irq_msi_update_msg(irqd, cfg); in msi_set_affinity()
[all …]
/linux/drivers/pinctrl/samsung/
H A Dpinctrl-s3c64xx.c316 static inline void s3c64xx_gpio_irq_set_mask(struct irq_data *irqd, bool mask) in s3c64xx_gpio_irq_set_mask() argument
318 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); in s3c64xx_gpio_irq_set_mask()
320 unsigned char index = EINT_OFFS(bank->eint_offset) + irqd->hwirq; in s3c64xx_gpio_irq_set_mask()
332 static void s3c64xx_gpio_irq_unmask(struct irq_data *irqd) in s3c64xx_gpio_irq_unmask() argument
334 s3c64xx_gpio_irq_set_mask(irqd, false); in s3c64xx_gpio_irq_unmask()
337 static void s3c64xx_gpio_irq_mask(struct irq_data *irqd) in s3c64xx_gpio_irq_mask() argument
339 s3c64xx_gpio_irq_set_mask(irqd, true); in s3c64xx_gpio_irq_mask()
342 static void s3c64xx_gpio_irq_ack(struct irq_data *irqd) in s3c64xx_gpio_irq_ack() argument
344 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); in s3c64xx_gpio_irq_ack()
346 unsigned char index = EINT_OFFS(bank->eint_offset) + irqd->hwirq; in s3c64xx_gpio_irq_ack()
[all …]
H A Dpinctrl-exynos.c58 static void exynos_irq_mask(struct irq_data *irqd) in exynos_irq_mask() argument
60 struct irq_chip *chip = irq_data_get_irq_chip(irqd); in exynos_irq_mask()
62 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); in exynos_irq_mask()
81 mask |= 1 << irqd->hwirq; in exynos_irq_mask()
89 static void exynos_irq_ack(struct irq_data *irqd) in exynos_irq_ack() argument
91 struct irq_chip *chip = irq_data_get_irq_chip(irqd); in exynos_irq_ack()
93 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); in exynos_irq_ack()
107 writel(1 << irqd->hwirq, bank->eint_base + reg_pend); in exynos_irq_ack()
112 static void exynos_irq_unmask(struct irq_data *irqd) in exynos_irq_unmask() argument
114 struct irq_chip *chip = irq_data_get_irq_chip(irqd); in exynos_irq_unmask()
[all …]
/linux/kernel/irq/
H A Dpm.c68 struct irq_data *irqd = &desc->irq_data; in suspend_device_irq() local
74 if (irqd_is_wakeup_set(irqd)) { in suspend_device_irq()
75 irqd_set(irqd, IRQD_WAKEUP_ARMED); in suspend_device_irq()
78 irqd_irq_disabled(irqd)) { in suspend_device_irq()
85 irqd_set(irqd, IRQD_IRQ_ENABLED_ON_SUSPEND); in suspend_device_irq()
146 struct irq_data *irqd = &desc->irq_data; in resume_irq() local
148 irqd_clear(irqd, IRQD_WAKEUP_ARMED); in resume_irq()
150 if (irqd_is_enabled_on_suspend(irqd)) { in resume_irq()
157 irqd_clear(irqd, IRQD_IRQ_ENABLED_ON_SUSPEND); in resume_irq()
H A Dirq_sim.c167 struct irq_data *irqd; in irq_sim_domain_unmap() local
169 irqd = irq_domain_get_irq_data(domain, virq); in irq_sim_domain_unmap()
170 irq_ctx = irq_data_get_irq_chip_data(irqd); in irq_sim_domain_unmap()
173 irq_domain_reset_irq_data(irqd); in irq_sim_domain_unmap()
/linux/drivers/irqchip/
H A Dirq-bcm2712-mip.c91 struct irq_data *irqd; in mip_middle_domain_alloc() local
111 irqd = irq_domain_get_irq_data(domain->parent, virq + i); in mip_middle_domain_alloc()
112 irqd->chip->irq_set_type(irqd, IRQ_TYPE_EDGE_RISING); in mip_middle_domain_alloc()
119 irqd = irq_get_irq_data(virq + i); in mip_middle_domain_alloc()
120 irqd_set_single_target(irqd); in mip_middle_domain_alloc()
121 irqd_set_affinity_on_activate(irqd); in mip_middle_domain_alloc()
136 struct irq_data *irqd = irq_domain_get_irq_data(domain, virq); in mip_middle_domain_free() local
140 if (!irqd) in mip_middle_domain_free()
143 mip = irq_data_get_irq_chip_data(irqd); in mip_middle_domain_free()
144 hwirq = irqd_to_hwirq(irqd); in mip_middle_domain_free()
H A Dirq-keystone.c31 struct irq_domain *irqd; member
100 err = generic_handle_domain_irq(kirq->irqd, src); in keystone_irq_handler()
160 kirq->irqd = irq_domain_create_linear(dev_fwnode(dev), KEYSTONE_N_IRQ, &keystone_irq_ops, in keystone_irq_probe()
162 if (!kirq->irqd) { in keystone_irq_probe()
174 irq_domain_remove(kirq->irqd); in keystone_irq_probe()
194 irq_dispose_mapping(irq_find_mapping(kirq->irqd, hwirq)); in keystone_irq_remove()
196 irq_domain_remove(kirq->irqd); in keystone_irq_remove()
H A Dirq-sun4i.c49 static void sun4i_irq_ack(struct irq_data *irqd) in sun4i_irq_ack() argument
51 unsigned int irq = irqd_to_hwirq(irqd); in sun4i_irq_ack()
59 static void sun4i_irq_mask(struct irq_data *irqd) in sun4i_irq_mask() argument
61 unsigned int irq = irqd_to_hwirq(irqd); in sun4i_irq_mask()
72 static void sun4i_irq_unmask(struct irq_data *irqd) in sun4i_irq_unmask() argument
74 unsigned int irq = irqd_to_hwirq(irqd); in sun4i_irq_unmask()
H A Dirq-zevio.c39 static void zevio_irq_ack(struct irq_data *irqd) in zevio_irq_ack() argument
41 struct irq_chip_generic *gc = irq_data_get_irq_chip_data(irqd); in zevio_irq_ack()
42 struct irq_chip_regs *regs = &irq_data_get_chip_type(irqd)->regs; in zevio_irq_ack()
H A Dirq-riscv-imsic-platform.c258 struct irq_data *irqd, int ind) in imsic_irq_debug_show() argument
260 if (!irqd) { in imsic_irq_debug_show()
265 imsic_vector_debug_show(m, irq_data_get_irq_chip_data(irqd), ind); in imsic_irq_debug_show()
/linux/drivers/gpio/
H A Dgpio-mlxbf2.c234 static void mlxbf2_gpio_irq_enable(struct irq_data *irqd) in mlxbf2_gpio_irq_enable() argument
236 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in mlxbf2_gpio_irq_enable()
238 int offset = irqd_to_hwirq(irqd); in mlxbf2_gpio_irq_enable()
241 gpiochip_enable_irq(gc, irqd_to_hwirq(irqd)); in mlxbf2_gpio_irq_enable()
252 static void mlxbf2_gpio_irq_disable(struct irq_data *irqd) in mlxbf2_gpio_irq_disable() argument
254 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in mlxbf2_gpio_irq_disable()
256 int offset = irqd_to_hwirq(irqd); in mlxbf2_gpio_irq_disable()
265 gpiochip_disable_irq(gc, irqd_to_hwirq(irqd)); in mlxbf2_gpio_irq_disable()
285 mlxbf2_gpio_irq_set_type(struct irq_data *irqd, unsigned int type) in mlxbf2_gpio_irq_set_type() argument
287 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in mlxbf2_gpio_irq_set_type()
[all …]
H A Dgpio-mlxbf3.c57 static void mlxbf3_gpio_irq_enable(struct irq_data *irqd) in mlxbf3_gpio_irq_enable() argument
59 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in mlxbf3_gpio_irq_enable()
61 irq_hw_number_t offset = irqd_to_hwirq(irqd); in mlxbf3_gpio_irq_enable()
75 static void mlxbf3_gpio_irq_disable(struct irq_data *irqd) in mlxbf3_gpio_irq_disable() argument
77 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in mlxbf3_gpio_irq_disable()
79 irq_hw_number_t offset = irqd_to_hwirq(irqd); in mlxbf3_gpio_irq_disable()
110 mlxbf3_gpio_irq_set_type(struct irq_data *irqd, unsigned int type) in mlxbf3_gpio_irq_set_type() argument
112 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in mlxbf3_gpio_irq_set_type()
114 irq_hw_number_t offset = irqd_to_hwirq(irqd); in mlxbf3_gpio_irq_set_type()
142 irq_set_handler_locked(irqd, handle_edge_irq); in mlxbf3_gpio_irq_set_type()
H A Dgpio-dln2.c303 static void dln2_irq_unmask(struct irq_data *irqd) in dln2_irq_unmask() argument
305 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in dln2_irq_unmask()
307 int pin = irqd_to_hwirq(irqd); in dln2_irq_unmask()
313 static void dln2_irq_mask(struct irq_data *irqd) in dln2_irq_mask() argument
315 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in dln2_irq_mask()
317 int pin = irqd_to_hwirq(irqd); in dln2_irq_mask()
323 static int dln2_irq_set_type(struct irq_data *irqd, unsigned type) in dln2_irq_set_type() argument
325 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in dln2_irq_set_type()
327 int pin = irqd_to_hwirq(irqd); in dln2_irq_set_type()
352 static void dln2_irq_bus_lock(struct irq_data *irqd) in dln2_irq_bus_lock() argument
[all …]
H A Dgpio-ljca.c303 static void ljca_irq_unmask(struct irq_data *irqd) in ljca_irq_unmask() argument
305 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in ljca_irq_unmask()
307 int gpio_id = irqd_to_hwirq(irqd); in ljca_irq_unmask()
313 static void ljca_irq_mask(struct irq_data *irqd) in ljca_irq_mask() argument
315 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in ljca_irq_mask()
317 int gpio_id = irqd_to_hwirq(irqd); in ljca_irq_mask()
323 static int ljca_irq_set_type(struct irq_data *irqd, unsigned int type) in ljca_irq_set_type() argument
325 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in ljca_irq_set_type()
327 int gpio_id = irqd_to_hwirq(irqd); in ljca_irq_set_type()
356 static void ljca_irq_bus_lock(struct irq_data *irqd) in ljca_irq_bus_lock() argument
[all …]
H A Dgpio-thunderx.c408 struct irq_data *irqd; in thunderx_gpio_child_to_parent_hwirq() local
412 irqd = irq_domain_get_irq_data(gc->irq.parent_domain, irq); in thunderx_gpio_child_to_parent_hwirq()
413 if (!irqd) in thunderx_gpio_child_to_parent_hwirq()
415 *parent = irqd_to_hwirq(irqd); in thunderx_gpio_child_to_parent_hwirq()
/linux/drivers/soc/qcom/
H A Dsmsm.c249 static void smsm_mask_irq(struct irq_data *irqd) in smsm_mask_irq() argument
251 struct smsm_entry *entry = irq_data_get_irq_chip_data(irqd); in smsm_mask_irq()
252 irq_hw_number_t irq = irqd_to_hwirq(irqd); in smsm_mask_irq()
272 static void smsm_unmask_irq(struct irq_data *irqd) in smsm_unmask_irq() argument
274 struct smsm_entry *entry = irq_data_get_irq_chip_data(irqd); in smsm_unmask_irq()
275 irq_hw_number_t irq = irqd_to_hwirq(irqd); in smsm_unmask_irq()
299 static int smsm_set_irq_type(struct irq_data *irqd, unsigned int type) in smsm_set_irq_type() argument
301 struct smsm_entry *entry = irq_data_get_irq_chip_data(irqd); in smsm_set_irq_type()
302 irq_hw_number_t irq = irqd_to_hwirq(irqd); in smsm_set_irq_type()
320 static int smsm_get_irqchip_state(struct irq_data *irqd, in smsm_get_irqchip_state() argument
[all …]
/linux/drivers/iio/dummy/
H A Diio_dummy_evgen.c104 struct irq_data *irqd = irq_get_irq_data(irq); in iio_dummy_evgen_release_irq() local
107 iio_evgen->inuse[irqd_to_hwirq(irqd)] = false; in iio_dummy_evgen_release_irq()
115 struct irq_data *irqd = irq_get_irq_data(irq); in iio_dummy_evgen_get_regs() local
117 return &iio_evgen->regs[irqd_to_hwirq(irqd)]; in iio_dummy_evgen_get_regs()
/linux/drivers/mailbox/
H A Dqcom-ipcc.c93 static void qcom_ipcc_mask_irq(struct irq_data *irqd) in qcom_ipcc_mask_irq() argument
95 struct qcom_ipcc *ipcc = irq_data_get_irq_chip_data(irqd); in qcom_ipcc_mask_irq()
96 irq_hw_number_t hwirq = irqd_to_hwirq(irqd); in qcom_ipcc_mask_irq()
101 static void qcom_ipcc_unmask_irq(struct irq_data *irqd) in qcom_ipcc_unmask_irq() argument
103 struct qcom_ipcc *ipcc = irq_data_get_irq_chip_data(irqd); in qcom_ipcc_unmask_irq()
104 irq_hw_number_t hwirq = irqd_to_hwirq(irqd); in qcom_ipcc_unmask_irq()
/linux/arch/mips/sgi-ip30/
H A Dip30-irq.c230 struct irq_data *irqd; in heart_domain_free() local
235 irqd = irq_domain_get_irq_data(domain, virq); in heart_domain_free()
236 if (irqd) { in heart_domain_free()
237 clear_bit(irqd->hwirq, heart_irq_map); in heart_domain_free()
238 kfree(irqd->chip_data); in heart_domain_free()
/linux/arch/mips/sgi-ip27/
H A Dip27-irq.c162 struct irq_data *irqd; in hub_domain_free() local
167 irqd = irq_domain_get_irq_data(domain, virq); in hub_domain_free()
168 if (irqd) in hub_domain_free()
169 kfree(irqd->chip_data); in hub_domain_free()
/linux/arch/mips/pci/
H A Dpci-xtalk-bridge.c364 struct irq_data *irqd = irq_domain_get_irq_data(domain, virq); in bridge_domain_free() local
369 kfree(irqd->chip_data); in bridge_domain_free()
374 struct irq_data *irqd, bool reserve) in bridge_domain_activate() argument
376 struct bridge_irq_chip_data *data = irqd->chip_data; in bridge_domain_activate()
378 int bit = irqd->parent_data->hwirq; in bridge_domain_activate()
379 int pin = irqd->hwirq; in bridge_domain_activate()
411 struct irq_data *irqd) in bridge_domain_deactivate() argument
413 struct bridge_irq_chip_data *data = irqd->chip_data; in bridge_domain_deactivate()
415 bridge_clr(data->bc, b_int_enable, (1 << irqd->hwirq)); in bridge_domain_deactivate()
/linux/arch/powerpc/sysdev/xics/
H A Dxics-common.c202 struct irq_data *irqd; in xics_migrate_irqs_away() local
211 irqd = irq_domain_get_irq_data(xics_host, virq); in xics_migrate_irqs_away()
212 if (!irqd) in xics_migrate_irqs_away()
214 irq = irqd_to_hwirq(irqd); in xics_migrate_irqs_away()
/linux/drivers/pinctrl/
H A Dpinctrl-ingenic.c3647 static void ingenic_gpio_irq_mask(struct irq_data *irqd) in ingenic_gpio_irq_mask() argument
3649 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in ingenic_gpio_irq_mask()
3651 irq_hw_number_t irq = irqd_to_hwirq(irqd); in ingenic_gpio_irq_mask()
3659 static void ingenic_gpio_irq_unmask(struct irq_data *irqd) in ingenic_gpio_irq_unmask() argument
3661 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in ingenic_gpio_irq_unmask()
3663 irq_hw_number_t irq = irqd_to_hwirq(irqd); in ingenic_gpio_irq_unmask()
3671 static void ingenic_gpio_irq_enable(struct irq_data *irqd) in ingenic_gpio_irq_enable() argument
3673 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in ingenic_gpio_irq_enable()
3675 irq_hw_number_t irq = irqd_to_hwirq(irqd); in ingenic_gpio_irq_enable()
3686 ingenic_gpio_irq_unmask(irqd); in ingenic_gpio_irq_enable()
[all …]
/linux/arch/x86/include/asm/
H A Dirq_remapping.h93 void intel_ack_posted_msi_irq(struct irq_data *irqd);

12