Home
last modified time | relevance | path

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

123

/linux/arch/x86/kernel/apic/
H A Dvector.c91 if (!irqd) in apic_chip_data()
95 irqd = irqd->parent_data; in apic_chip_data()
97 return irqd->chip_data; in apic_chip_data()
425 irqd->irq); in activate_reserved()
450 irqd->irq); in activate_managed()
502 if (irqd && irqd->chip_data) { in x86_vector_free_irqs()
563 BUG_ON(!irqd); in x86_vector_alloc_irqs()
623 if (!irqd) { in x86_vector_debug_show()
628 irq = irqd->irq; in x86_vector_debug_show()
909 irq_move_irq(irqd); in apic_ack_irq()
[all …]
H A Dmsi.c31 irq_data_get_irq_chip(irqd)->irq_write_msi_msg(irqd, msg); in irq_msi_update_msg()
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()
116 irq_msi_update_msg(irqd, &old_cfg); in msi_set_affinity()
119 irq_msi_update_msg(irqd, cfg); in msi_set_affinity()
[all …]
/linux/drivers/mfd/
H A Dmt6358-irq.c81 irqd->enable_hwirq[hwirq] = true; in pmic_irq_enable()
107 if (irqd->enable_hwirq[i] == irqd->cache_hwirq[i]) in pmic_irq_sync_unlock()
126 irqd->cache_hwirq[i] = irqd->enable_hwirq[i]; in pmic_irq_sync_unlock()
188 irqd->top_int_status_reg, in mt6358_irq_handler()
230 struct pmic_irq_data *irqd; in mt6358_irq_init() local
252 irqd = chip->irq_data; in mt6358_irq_init()
254 irqd->num_pmic_irqs, in mt6358_irq_init()
257 if (!irqd->enable_hwirq) in mt6358_irq_init()
261 irqd->num_pmic_irqs, in mt6358_irq_init()
264 if (!irqd->cache_hwirq) in mt6358_irq_init()
[all …]
H A Dlp8788-irq.c80 mutex_lock(&irqd->irq_lock); in lp8788_irq_bus_lock()
95 mutex_unlock(&irqd->irq_lock); in lp8788_irq_bus_sync_unlock()
109 struct lp8788 *lp = irqd->lp; in lp8788_irq_handler()
151 struct lp8788_irq_data *irqd; in lp8788_irq_init() local
159 irqd = devm_kzalloc(lp->dev, sizeof(*irqd), GFP_KERNEL); in lp8788_irq_init()
160 if (!irqd) in lp8788_irq_init()
163 irqd->lp = lp; in lp8788_irq_init()
166 if (!irqd->domain) { in lp8788_irq_init()
171 lp->irqdm = irqd->domain; in lp8788_irq_init()
172 mutex_init(&irqd->irq_lock); in lp8788_irq_init()
[all …]
/linux/arch/riscv/kvm/
H A Daia_aplic.c44 struct aplic_irq *irqd; in aplic_read_sourcecfg() local
48 irqd = &aplic->irqs[irq]; in aplic_read_sourcecfg()
51 ret = irqd->sourcecfg; in aplic_read_sourcecfg()
60 struct aplic_irq *irqd; in aplic_write_sourcecfg() local
72 irqd->sourcecfg = val; in aplic_write_sourcecfg()
80 struct aplic_irq *irqd; in aplic_read_target() local
87 ret = irqd->target; in aplic_read_target()
96 struct aplic_irq *irqd; in aplic_write_target() local
107 irqd->target = val; in aplic_write_target()
115 struct aplic_irq *irqd; in aplic_read_pending() local
[all …]
/linux/drivers/pinctrl/samsung/
H A Dpinctrl-s3c64xx.c321 s3c64xx_gpio_irq_set_mask(irqd, false); in s3c64xx_gpio_irq_unmask()
326 s3c64xx_gpio_irq_set_mask(irqd, true); in s3c64xx_gpio_irq_mask()
354 s3c64xx_irq_set_handler(irqd, type); in s3c64xx_gpio_irq_set_type()
511 irq_data_get_irq_chip_data(irqd); in s3c64xx_eint0_irq_set_mask()
517 val |= 1 << ddata->eints[irqd->hwirq]; in s3c64xx_eint0_irq_set_mask()
530 s3c64xx_eint0_irq_set_mask(irqd, true); in s3c64xx_eint0_irq_mask()
536 irq_data_get_irq_chip_data(irqd); in s3c64xx_eint0_irq_ack()
539 writel(1 << ddata->eints[irqd->hwirq], in s3c64xx_eint0_irq_ack()
546 irq_data_get_irq_chip_data(irqd); in s3c64xx_eint0_irq_set_type()
560 s3c64xx_irq_set_handler(irqd, type); in s3c64xx_eint0_irq_set_type()
[all …]
H A Dpinctrl-exynos.c51 static void exynos_irq_mask(struct irq_data *irqd) in exynos_irq_mask() argument
74 mask |= 1 << irqd->hwirq; in exynos_irq_mask()
82 static void exynos_irq_ack(struct irq_data *irqd) in exynos_irq_ack() argument
123 exynos_irq_ack(irqd); in exynos_irq_unmask()
139 mask &= ~(1 << irqd->hwirq); in exynos_irq_unmask()
179 irq_set_handler_locked(irqd, handle_edge_irq); in exynos_irq_set_type()
181 irq_set_handler_locked(irqd, handle_level_irq); in exynos_irq_set_type()
230 bank->name, irqd->hwirq); in exynos_irq_request_resources()
242 bank->name, irqd->hwirq); in exynos_irq_request_resources()
274 bank->name, irqd->hwirq); in exynos_irq_release_resources()
[all …]
/linux/kernel/irq/
H A Dpm.c73 struct irq_data *irqd = &desc->irq_data; in suspend_device_irq() local
79 if (irqd_is_wakeup_set(irqd)) { in suspend_device_irq()
80 irqd_set(irqd, IRQD_WAKEUP_ARMED); in suspend_device_irq()
83 irqd_irq_disabled(irqd)) { in suspend_device_irq()
90 irqd_set(irqd, IRQD_IRQ_ENABLED_ON_SUSPEND); in suspend_device_irq()
153 struct irq_data *irqd = &desc->irq_data; in resume_irq() local
155 irqd_clear(irqd, IRQD_WAKEUP_ARMED); in resume_irq()
157 if (irqd_is_enabled_on_suspend(irqd)) { in resume_irq()
164 irqd_clear(irqd, IRQD_IRQ_ENABLED_ON_SUSPEND); in resume_irq()
H A Dirqdomain.c1258 struct irq_data *irqd; in irq_domain_disconnect_hierarchy() local
1261 if (!irqd) in irq_domain_disconnect_hierarchy()
1284 for (irqd = irq_data->parent_data; irqd; irq_data = irqd, irqd = irqd->parent_data) { in irq_domain_trim_hierarchy()
1286 if (irqd->chip && tail) in irq_domain_trim_hierarchy()
1290 if (!irqd->chip && !tail) in irq_domain_trim_hierarchy()
1293 if (IS_ERR(irqd->chip)) { in irq_domain_trim_hierarchy()
1310 irqd = tail; in irq_domain_trim_hierarchy()
1312 irqd->parent_data = NULL; in irq_domain_trim_hierarchy()
1824 if (irqd && irqd->domain) { in __irq_domain_activate_irq()
1827 if (irqd->parent_data) in __irq_domain_activate_irq()
[all …]
H A Dirq_sim.c139 struct irq_data *irqd; in irq_sim_domain_unmap() local
141 irqd = irq_domain_get_irq_data(domain, virq); in irq_sim_domain_unmap()
142 irq_ctx = irq_data_get_irq_chip_data(irqd); in irq_sim_domain_unmap()
145 irq_domain_reset_irq_data(irqd); in irq_sim_domain_unmap()
/linux/drivers/gpio/
H A Dgpio-mlxbf2.c233 static void mlxbf2_gpio_irq_enable(struct irq_data *irqd) in mlxbf2_gpio_irq_enable() argument
235 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in mlxbf2_gpio_irq_enable()
237 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()
253 static void mlxbf2_gpio_irq_disable(struct irq_data *irqd) in mlxbf2_gpio_irq_disable() argument
255 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in mlxbf2_gpio_irq_disable()
257 int offset = irqd_to_hwirq(irqd); in mlxbf2_gpio_irq_disable()
266 gpiochip_disable_irq(gc, irqd_to_hwirq(irqd)); in mlxbf2_gpio_irq_disable()
288 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in mlxbf2_gpio_irq_set_type()
290 int offset = irqd_to_hwirq(irqd); in mlxbf2_gpio_irq_set_type()
[all …]
H A Dgpio-mlxbf3.c54 static void mlxbf3_gpio_irq_enable(struct irq_data *irqd) in mlxbf3_gpio_irq_enable() argument
56 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in mlxbf3_gpio_irq_enable()
58 irq_hw_number_t offset = irqd_to_hwirq(irqd); in mlxbf3_gpio_irq_enable()
73 static void mlxbf3_gpio_irq_disable(struct irq_data *irqd) in mlxbf3_gpio_irq_disable() argument
75 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in mlxbf3_gpio_irq_disable()
77 irq_hw_number_t offset = irqd_to_hwirq(irqd); in mlxbf3_gpio_irq_disable()
107 mlxbf3_gpio_irq_set_type(struct irq_data *irqd, unsigned int type) in mlxbf3_gpio_irq_set_type() argument
109 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in mlxbf3_gpio_irq_set_type()
111 irq_hw_number_t offset = irqd_to_hwirq(irqd); in mlxbf3_gpio_irq_set_type()
143 irq_set_handler_locked(irqd, handle_edge_irq); in mlxbf3_gpio_irq_set_type()
H A Dgpio-dln2.c302 static void dln2_irq_unmask(struct irq_data *irqd) in dln2_irq_unmask() argument
304 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in dln2_irq_unmask()
306 int pin = irqd_to_hwirq(irqd); in dln2_irq_unmask()
312 static void dln2_irq_mask(struct irq_data *irqd) in dln2_irq_mask() argument
314 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in dln2_irq_mask()
316 int pin = irqd_to_hwirq(irqd); in dln2_irq_mask()
324 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in dln2_irq_set_type()
326 int pin = irqd_to_hwirq(irqd); in dln2_irq_set_type()
351 static void dln2_irq_bus_lock(struct irq_data *irqd) in dln2_irq_bus_lock() argument
359 static void dln2_irq_bus_unlock(struct irq_data *irqd) in dln2_irq_bus_unlock() argument
[all …]
H A Dgpio-ljca.c306 static void ljca_irq_unmask(struct irq_data *irqd) in ljca_irq_unmask() argument
308 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in ljca_irq_unmask()
310 int gpio_id = irqd_to_hwirq(irqd); in ljca_irq_unmask()
316 static void ljca_irq_mask(struct irq_data *irqd) in ljca_irq_mask() argument
318 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in ljca_irq_mask()
320 int gpio_id = irqd_to_hwirq(irqd); in ljca_irq_mask()
328 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in ljca_irq_set_type()
330 int gpio_id = irqd_to_hwirq(irqd); in ljca_irq_set_type()
359 static void ljca_irq_bus_lock(struct irq_data *irqd) in ljca_irq_bus_lock() argument
367 static void ljca_irq_bus_unlock(struct irq_data *irqd) in ljca_irq_bus_unlock() argument
[all …]
/linux/drivers/irqchip/
H A Dirq-keystone.c31 struct irq_domain *irqd; member
100 err = generic_handle_domain_irq(kirq->irqd, src); in keystone_irq_handler()
167 kirq->irqd = irq_domain_add_linear(np, KEYSTONE_N_IRQ, in keystone_irq_probe()
169 if (!kirq->irqd) { in keystone_irq_probe()
181 irq_domain_remove(kirq->irqd); in keystone_irq_probe()
201 irq_dispose_mapping(irq_find_mapping(kirq->irqd, hwirq)); in keystone_irq_remove()
203 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()
/linux/arch/x86/hyperv/
H A Dirqdomain.c256 static void hv_teardown_msi_irq(struct pci_dev *dev, struct irq_data *irqd) in hv_teardown_msi_irq() argument
262 if (!irqd->chip_data) { in hv_teardown_msi_irq()
267 old_entry = *(struct hv_interrupt_entry *)irqd->chip_data; in hv_teardown_msi_irq()
270 kfree(irqd->chip_data); in hv_teardown_msi_irq()
271 irqd->chip_data = NULL; in hv_teardown_msi_irq()
282 struct irq_data *irqd = irq_get_irq_data(virq); in hv_msi_free_irq() local
285 if (!irqd) in hv_msi_free_irq()
288 desc = irq_data_get_msi_desc(irqd); in hv_msi_free_irq()
292 hv_teardown_msi_irq(to_pci_dev(desc->dev), irqd); in hv_msi_free_irq()
/linux/drivers/soc/qcom/
H A Dsmsm.c236 static void smsm_mask_irq(struct irq_data *irqd) in smsm_mask_irq() argument
238 struct smsm_entry *entry = irq_data_get_irq_chip_data(irqd); in smsm_mask_irq()
239 irq_hw_number_t irq = irqd_to_hwirq(irqd); in smsm_mask_irq()
259 static void smsm_unmask_irq(struct irq_data *irqd) in smsm_unmask_irq() argument
261 struct smsm_entry *entry = irq_data_get_irq_chip_data(irqd); in smsm_unmask_irq()
262 irq_hw_number_t irq = irqd_to_hwirq(irqd); in smsm_unmask_irq()
288 struct smsm_entry *entry = irq_data_get_irq_chip_data(irqd); in smsm_set_irq_type()
289 irq_hw_number_t irq = irqd_to_hwirq(irqd); in smsm_set_irq_type()
307 static int smsm_get_irqchip_state(struct irq_data *irqd, in smsm_get_irqchip_state() argument
310 struct smsm_entry *entry = irq_data_get_irq_chip_data(irqd); in smsm_get_irqchip_state()
[all …]
H A Dsmp2p.c319 static void smp2p_mask_irq(struct irq_data *irqd) in smp2p_mask_irq() argument
321 struct smp2p_entry *entry = irq_data_get_irq_chip_data(irqd); in smp2p_mask_irq()
322 irq_hw_number_t irq = irqd_to_hwirq(irqd); in smp2p_mask_irq()
327 static void smp2p_unmask_irq(struct irq_data *irqd) in smp2p_unmask_irq() argument
329 struct smp2p_entry *entry = irq_data_get_irq_chip_data(irqd); in smp2p_unmask_irq()
330 irq_hw_number_t irq = irqd_to_hwirq(irqd); in smp2p_unmask_irq()
335 static int smp2p_set_irq_type(struct irq_data *irqd, unsigned int type) in smp2p_set_irq_type() argument
337 struct smp2p_entry *entry = irq_data_get_irq_chip_data(irqd); in smp2p_set_irq_type()
338 irq_hw_number_t irq = irqd_to_hwirq(irqd); in smp2p_set_irq_type()
/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/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 && irqd->chip_data) in hub_domain_free()
169 kfree(irqd->chip_data); in hub_domain_free()
/linux/drivers/mailbox/
H A Dqcom-ipcc.c91 static void qcom_ipcc_mask_irq(struct irq_data *irqd) in qcom_ipcc_mask_irq() argument
93 struct qcom_ipcc *ipcc = irq_data_get_irq_chip_data(irqd); in qcom_ipcc_mask_irq()
94 irq_hw_number_t hwirq = irqd_to_hwirq(irqd); in qcom_ipcc_mask_irq()
99 static void qcom_ipcc_unmask_irq(struct irq_data *irqd) in qcom_ipcc_unmask_irq() argument
101 struct qcom_ipcc *ipcc = irq_data_get_irq_chip_data(irqd); in qcom_ipcc_unmask_irq()
102 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/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()

123