Home
last modified time | relevance | path

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

12

/linux/drivers/mfd/
H A Dmt6358-irq.c79 struct pmic_irq_data *irqd = chip->irq_data; in pmic_irq_enable() local
81 irqd->enable_hwirq[hwirq] = true; in pmic_irq_enable()
88 struct pmic_irq_data *irqd = chip->irq_data; in pmic_irq_disable() local
90 irqd->enable_hwirq[hwirq] = false; in pmic_irq_disable()
104 struct pmic_irq_data *irqd = chip->irq_data; in pmic_irq_sync_unlock() local
106 for (i = 0; i < irqd->num_pmic_irqs; i++) { in pmic_irq_sync_unlock()
107 if (irqd->enable_hwirq[i] == irqd->cache_hwirq[i]) in pmic_irq_sync_unlock()
112 while ((top_gp + 1) < irqd->num_top && in pmic_irq_sync_unlock()
113 i >= irqd->pmic_ints[top_gp + 1].hwirq_base) in pmic_irq_sync_unlock()
117 gp_offset = i - irqd->pmic_ints[top_gp].hwirq_base; in pmic_irq_sync_unlock()
[all …]
H A Dlp8788-irq.c64 struct lp8788_irq_data *irqd = irq_data_get_irq_chip_data(data); in lp8788_irq_enable() local
66 irqd->enabled[data->hwirq] = 1; in lp8788_irq_enable()
71 struct lp8788_irq_data *irqd = irq_data_get_irq_chip_data(data); in lp8788_irq_disable() local
73 irqd->enabled[data->hwirq] = 0; in lp8788_irq_disable()
78 struct lp8788_irq_data *irqd = irq_data_get_irq_chip_data(data); in lp8788_irq_bus_lock() local
80 mutex_lock(&irqd->irq_lock); in lp8788_irq_bus_lock()
85 struct lp8788_irq_data *irqd = irq_data_get_irq_chip_data(data); in lp8788_irq_bus_sync_unlock() local
91 val = _irq_to_val(irq, irqd->enabled[irq]); in lp8788_irq_bus_sync_unlock()
93 lp8788_update_bits(irqd->lp, addr, mask, val); in lp8788_irq_bus_sync_unlock()
95 mutex_unlock(&irqd->irq_lock); in lp8788_irq_bus_sync_unlock()
[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 …]
/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.c1387 struct irq_data *irqd; in irq_domain_disconnect_hierarchy() local
1389 irqd = irq_domain_get_irq_data(domain, virq); in irq_domain_disconnect_hierarchy()
1390 if (!irqd) in irq_domain_disconnect_hierarchy()
1393 irqd->chip = ERR_PTR(-ENOTCONN); in irq_domain_disconnect_hierarchy()
1400 struct irq_data *tail, *irqd, *irq_data; in irq_domain_trim_hierarchy() local
1413 for (irqd = irq_data->parent_data; irqd; irq_data = irqd, irqd = irqd->parent_data) { in irq_domain_trim_hierarchy()
1415 if (irqd->chip && tail) in irq_domain_trim_hierarchy()
1419 if (!irqd->chip && !tail) in irq_domain_trim_hierarchy()
1422 if (IS_ERR(irqd->chip)) { in irq_domain_trim_hierarchy()
1424 if (PTR_ERR(irqd->chip) != -ENOTCONN) in irq_domain_trim_hierarchy()
[all …]
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()
H A Dmsi.c1185 struct irq_data *irqd = irq_domain_get_irq_data(domain, virq); in msi_init_virq() local
1189 irqd_clr_can_reserve(irqd); in msi_init_virq()
1199 irqd_affinity_is_managed(irqd) && in msi_init_virq()
1200 !cpumask_intersects(irq_data_get_affinity_mask(irqd), in msi_init_virq()
1202 irqd_set_managed_shutdown(irqd); in msi_init_virq()
1210 ret = irq_domain_activate_irq(irqd, vflags & VIRQ_CAN_RESERVE); in msi_init_virq()
1218 irqd_clr_activated(irqd); in msi_init_virq()
1541 struct irq_data *irqd; in __msi_domain_free_irqs() local
1553 irqd = irq_domain_get_irq_data(domain, desc->irq + i); in __msi_domain_free_irqs()
1554 if (irqd && irqd_is_activated(irqd)) in __msi_domain_free_irqs()
[all …]
H A Dinternals.h484 static inline struct irq_data *irqd_get_parent_data(struct irq_data *irqd) in irq_domain_activate_irq()
487 return irqd->parent_data; in irq_domain_deactivate_irq()
492 irqd_get_parent_data(struct irq_data * irqd) irqd_get_parent_data() argument
/linux/drivers/gpio/
H A Dgpio-mlxbf3.c56 static void mlxbf3_gpio_irq_enable(struct irq_data *irqd) in mlxbf3_gpio_irq_enable() argument
58 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in mlxbf3_gpio_irq_enable()
60 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()
111 mlxbf3_gpio_irq_set_type(struct irq_data *irqd, unsigned int type) in mlxbf3_gpio_irq_set_type() argument
113 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in mlxbf3_gpio_irq_set_type()
115 irq_hw_number_t offset = irqd_to_hwirq(irqd); in mlxbf3_gpio_irq_set_type()
147 irq_set_handler_locked(irqd, handle_edge_irq); in mlxbf3_gpio_irq_set_type()
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()
326 static int ljca_irq_set_type(struct irq_data *irqd, unsigned int type) in ljca_irq_set_type() argument
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
[all …]
H A Dgpio-thunderx.c404 struct irq_data *irqd; in thunderx_gpio_child_to_parent_hwirq() local
408 irqd = irq_domain_get_irq_data(gc->irq.parent_domain, irq); in thunderx_gpio_child_to_parent_hwirq()
409 if (!irqd) in thunderx_gpio_child_to_parent_hwirq()
411 *parent = irqd_to_hwirq(irqd); in thunderx_gpio_child_to_parent_hwirq()
/linux/drivers/irqchip/
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.c193 struct irq_data *irqd, int ind) in imsic_irq_debug_show() argument
195 if (!irqd) { in imsic_irq_debug_show()
200 imsic_vector_debug_show(m, irq_data_get_irq_chip_data(irqd), ind); in imsic_irq_debug_show()
/linux/drivers/soc/qcom/
H A Dsmp2p.c327 static void smp2p_mask_irq(struct irq_data *irqd) in smp2p_mask_irq() argument
329 struct smp2p_entry *entry = irq_data_get_irq_chip_data(irqd); in smp2p_mask_irq()
330 irq_hw_number_t irq = irqd_to_hwirq(irqd); in smp2p_mask_irq()
335 static void smp2p_unmask_irq(struct irq_data *irqd) in smp2p_unmask_irq() argument
337 struct smp2p_entry *entry = irq_data_get_irq_chip_data(irqd); in smp2p_unmask_irq()
338 irq_hw_number_t irq = irqd_to_hwirq(irqd); in smp2p_unmask_irq()
343 static int smp2p_set_irq_type(struct irq_data *irqd, unsigned int type) in smp2p_set_irq_type() argument
345 struct smp2p_entry *entry = irq_data_get_irq_chip_data(irqd); in smp2p_set_irq_type()
346 irq_hw_number_t irq = irqd_to_hwirq(irqd); in smp2p_set_irq_type()
364 static void smp2p_irq_print_chip(struct irq_data *irqd, struct seq_file *p) in smp2p_irq_print_chip() 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/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()
/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/gpu/drm/msm/
H A Dmsm_mdss.c100 static void msm_mdss_irq_mask(struct irq_data *irqd) in msm_mdss_irq_mask() argument
102 struct msm_mdss *msm_mdss = irq_data_get_irq_chip_data(irqd); in msm_mdss_irq_mask()
106 clear_bit(irqd->hwirq, &msm_mdss->irq_controller.enabled_mask); in msm_mdss_irq_mask()
111 static void msm_mdss_irq_unmask(struct irq_data *irqd) in msm_mdss_irq_unmask() argument
113 struct msm_mdss *msm_mdss = irq_data_get_irq_chip_data(irqd); in msm_mdss_irq_unmask()
117 set_bit(irqd->hwirq, &msm_mdss->irq_controller.enabled_mask); in msm_mdss_irq_unmask()
/linux/arch/powerpc/sysdev/
H A Dfsl_msi.c69 static void fsl_msi_print_chip(struct irq_data *irqd, struct seq_file *p) in fsl_msi_print_chip() argument
71 struct fsl_msi *msi_data = irqd->domain->host_data; in fsl_msi_print_chip()
72 irq_hw_number_t hwirq = irqd_to_hwirq(irqd); in fsl_msi_print_chip()
/linux/drivers/input/keyboard/
H A Dadp5588-keys.c486 struct irq_data *irqd; in adp5588_gpio_irq_handle() local
500 irqd = irq_get_irq_data(irq); in adp5588_gpio_irq_handle()
501 if (!irqd) { in adp5588_gpio_irq_handle()
506 irq_type = irqd_get_trigger_type(irqd); in adp5588_gpio_irq_handle()
/linux/drivers/base/
H A Dplatform.c206 struct irq_data *irqd; in platform_get_irq_optional() local
208 irqd = irq_get_irq_data(r->start); in platform_get_irq_optional()
209 if (!irqd) in platform_get_irq_optional()
211 irqd_set_trigger_type(irqd, r->flags & IORESOURCE_BITS); in platform_get_irq_optional()
/linux/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_irq.c669 static void amdgpu_irq_mask(struct irq_data *irqd) in amdgpu_irq_mask() argument
674 static void amdgpu_irq_unmask(struct irq_data *irqd) in amdgpu_irq_unmask() argument
/linux/include/linux/
H A Dirqdomain.h117 int (*activate)(struct irq_domain *d, struct irq_data *irqd, bool reserve);
124 struct irq_data *irqd, int ind);

12