Home
last modified time | relevance | path

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

12

/Linux-v5.15/arch/x86/kernel/apic/
Dvector.c78 static struct apic_chip_data *apic_chip_data(struct irq_data *irqd) in apic_chip_data() argument
80 if (!irqd) in apic_chip_data()
83 while (irqd->parent_data) in apic_chip_data()
84 irqd = irqd->parent_data; in apic_chip_data()
86 return irqd->chip_data; in apic_chip_data()
89 struct irq_cfg *irqd_cfg(struct irq_data *irqd) in irqd_cfg() argument
91 struct apic_chip_data *apicd = apic_chip_data(irqd); in irqd_cfg()
117 static void apic_update_irq_cfg(struct irq_data *irqd, unsigned int vector, in apic_update_irq_cfg() argument
120 struct apic_chip_data *apicd = apic_chip_data(irqd); in apic_update_irq_cfg()
126 irq_data_update_effective_affinity(irqd, cpumask_of(cpu)); in apic_update_irq_cfg()
[all …]
Dmsi.c25 static void irq_msi_update_msg(struct irq_data *irqd, struct irq_cfg *cfg) in irq_msi_update_msg() argument
30 irq_data_get_irq_chip(irqd)->irq_write_msi_msg(irqd, msg); in irq_msi_update_msg()
34 msi_set_affinity(struct irq_data *irqd, const struct cpumask *mask, bool force) in msi_set_affinity() argument
36 struct irq_cfg old_cfg, *cfg = irqd_cfg(irqd); in msi_set_affinity()
37 struct irq_data *parent = irqd->parent_data; in msi_set_affinity()
42 cpu = cpumask_first(irq_data_get_effective_affinity_mask(irqd)); in msi_set_affinity()
64 if (!irqd_msi_nomask_quirk(irqd) || in msi_set_affinity()
67 !irqd_is_started(irqd) || in msi_set_affinity()
69 irq_msi_update_msg(irqd, cfg); in msi_set_affinity()
78 irq_msi_update_msg(irqd, cfg); in msi_set_affinity()
[all …]
/Linux-v5.15/drivers/mfd/
Dmt6358-irq.c60 struct pmic_irq_data *irqd = chip->irq_data; in pmic_irq_enable() local
62 irqd->enable_hwirq[hwirq] = true; in pmic_irq_enable()
69 struct pmic_irq_data *irqd = chip->irq_data; in pmic_irq_disable() local
71 irqd->enable_hwirq[hwirq] = false; in pmic_irq_disable()
85 struct pmic_irq_data *irqd = chip->irq_data; in pmic_irq_sync_unlock() local
87 for (i = 0; i < irqd->num_pmic_irqs; i++) { in pmic_irq_sync_unlock()
88 if (irqd->enable_hwirq[i] == irqd->cache_hwirq[i]) in pmic_irq_sync_unlock()
93 while ((top_gp + 1) < irqd->num_top && in pmic_irq_sync_unlock()
94 i >= irqd->pmic_ints[top_gp + 1].hwirq_base) in pmic_irq_sync_unlock()
98 gp_offset = i - irqd->pmic_ints[top_gp].hwirq_base; in pmic_irq_sync_unlock()
[all …]
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-v5.15/drivers/pinctrl/samsung/
Dpinctrl-s3c64xx.c303 static inline void s3c64xx_gpio_irq_set_mask(struct irq_data *irqd, bool mask) in s3c64xx_gpio_irq_set_mask() argument
305 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); in s3c64xx_gpio_irq_set_mask()
307 unsigned char index = EINT_OFFS(bank->eint_offset) + irqd->hwirq; in s3c64xx_gpio_irq_set_mask()
319 static void s3c64xx_gpio_irq_unmask(struct irq_data *irqd) in s3c64xx_gpio_irq_unmask() argument
321 s3c64xx_gpio_irq_set_mask(irqd, false); in s3c64xx_gpio_irq_unmask()
324 static void s3c64xx_gpio_irq_mask(struct irq_data *irqd) in s3c64xx_gpio_irq_mask() argument
326 s3c64xx_gpio_irq_set_mask(irqd, true); in s3c64xx_gpio_irq_mask()
329 static void s3c64xx_gpio_irq_ack(struct irq_data *irqd) in s3c64xx_gpio_irq_ack() argument
331 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); in s3c64xx_gpio_irq_ack()
333 unsigned char index = EINT_OFFS(bank->eint_offset) + irqd->hwirq; in s3c64xx_gpio_irq_ack()
[all …]
Dpinctrl-exynos.c52 static void exynos_irq_mask(struct irq_data *irqd) in exynos_irq_mask() argument
54 struct irq_chip *chip = irq_data_get_irq_chip(irqd); in exynos_irq_mask()
56 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); in exynos_irq_mask()
64 mask |= 1 << irqd->hwirq; in exynos_irq_mask()
70 static void exynos_irq_ack(struct irq_data *irqd) in exynos_irq_ack() argument
72 struct irq_chip *chip = irq_data_get_irq_chip(irqd); in exynos_irq_ack()
74 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); in exynos_irq_ack()
77 writel(1 << irqd->hwirq, bank->eint_base + reg_pend); in exynos_irq_ack()
80 static void exynos_irq_unmask(struct irq_data *irqd) in exynos_irq_unmask() argument
82 struct irq_chip *chip = irq_data_get_irq_chip(irqd); in exynos_irq_unmask()
[all …]
/Linux-v5.15/kernel/irq/
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()
154 struct irq_data *irqd = &desc->irq_data; in resume_irq() local
156 irqd_clear(irqd, IRQD_WAKEUP_ARMED); in resume_irq()
158 if (irqd_is_enabled_on_suspend(irqd)) { in resume_irq()
165 irqd_clear(irqd, IRQD_IRQ_ENABLED_ON_SUSPEND); in resume_irq()
Dirqdomain.c1210 struct irq_data *irqd; in irq_domain_disconnect_hierarchy() local
1212 irqd = irq_domain_get_irq_data(domain, virq); in irq_domain_disconnect_hierarchy()
1213 if (!irqd) in irq_domain_disconnect_hierarchy()
1216 irqd->chip = ERR_PTR(-ENOTCONN); in irq_domain_disconnect_hierarchy()
1223 struct irq_data *tail, *irqd, *irq_data; in irq_domain_trim_hierarchy() local
1236 for (irqd = irq_data->parent_data; irqd; irq_data = irqd, irqd = irqd->parent_data) { in irq_domain_trim_hierarchy()
1238 if (irqd->chip && tail) in irq_domain_trim_hierarchy()
1242 if (!irqd->chip && !tail) in irq_domain_trim_hierarchy()
1245 if (IS_ERR(irqd->chip)) { in irq_domain_trim_hierarchy()
1247 if (PTR_ERR(irqd->chip) != -ENOTCONN) in irq_domain_trim_hierarchy()
[all …]
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-v5.15/drivers/gpio/
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()
311 static void dln2_irq_mask(struct irq_data *irqd) in dln2_irq_mask() argument
313 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in dln2_irq_mask()
315 int pin = irqd_to_hwirq(irqd); in dln2_irq_mask()
320 static int dln2_irq_set_type(struct irq_data *irqd, unsigned type) in dln2_irq_set_type() argument
322 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in dln2_irq_set_type()
324 int pin = irqd_to_hwirq(irqd); in dln2_irq_set_type()
349 static void dln2_irq_bus_lock(struct irq_data *irqd) in dln2_irq_bus_lock() argument
[all …]
/Linux-v5.15/drivers/irqchip/
Dirq-keystone.c39 struct irq_domain *irqd; member
108 err = generic_handle_domain_irq(kirq->irqd, src); in keystone_irq_handler()
175 kirq->irqd = irq_domain_add_linear(np, KEYSTONE_N_IRQ, in keystone_irq_probe()
177 if (!kirq->irqd) { in keystone_irq_probe()
189 irq_domain_remove(kirq->irqd); in keystone_irq_probe()
209 irq_dispose_mapping(irq_find_mapping(kirq->irqd, hwirq)); in keystone_irq_remove()
211 irq_domain_remove(kirq->irqd); in keystone_irq_remove()
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()
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-v5.15/drivers/soc/qcom/
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()
286 static int smsm_set_irq_type(struct irq_data *irqd, unsigned int type) in smsm_set_irq_type() argument
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
[all …]
Dsmp2p.c243 static void smp2p_mask_irq(struct irq_data *irqd) in smp2p_mask_irq() argument
245 struct smp2p_entry *entry = irq_data_get_irq_chip_data(irqd); in smp2p_mask_irq()
246 irq_hw_number_t irq = irqd_to_hwirq(irqd); in smp2p_mask_irq()
251 static void smp2p_unmask_irq(struct irq_data *irqd) in smp2p_unmask_irq() argument
253 struct smp2p_entry *entry = irq_data_get_irq_chip_data(irqd); in smp2p_unmask_irq()
254 irq_hw_number_t irq = irqd_to_hwirq(irqd); in smp2p_unmask_irq()
259 static int smp2p_set_irq_type(struct irq_data *irqd, unsigned int type) in smp2p_set_irq_type() argument
261 struct smp2p_entry *entry = irq_data_get_irq_chip_data(irqd); in smp2p_set_irq_type()
262 irq_hw_number_t irq = irqd_to_hwirq(irqd); in smp2p_set_irq_type()
/Linux-v5.15/drivers/mailbox/
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-v5.15/drivers/gpu/drm/msm/disp/dpu1/
Ddpu_mdss.c64 static void dpu_mdss_irq_mask(struct irq_data *irqd) in dpu_mdss_irq_mask() argument
66 struct dpu_mdss *dpu_mdss = irq_data_get_irq_chip_data(irqd); in dpu_mdss_irq_mask()
70 clear_bit(irqd->hwirq, &dpu_mdss->irq_controller.enabled_mask); in dpu_mdss_irq_mask()
75 static void dpu_mdss_irq_unmask(struct irq_data *irqd) in dpu_mdss_irq_unmask() argument
77 struct dpu_mdss *dpu_mdss = irq_data_get_irq_chip_data(irqd); in dpu_mdss_irq_unmask()
81 set_bit(irqd->hwirq, &dpu_mdss->irq_controller.enabled_mask); in dpu_mdss_irq_unmask()
/Linux-v5.15/drivers/gpu/drm/msm/disp/mdp5/
Dmdp5_mdss.c71 static void mdss_hw_mask_irq(struct irq_data *irqd) in mdss_hw_mask_irq() argument
73 struct mdp5_mdss *mdp5_mdss = irq_data_get_irq_chip_data(irqd); in mdss_hw_mask_irq()
76 clear_bit(irqd->hwirq, &mdp5_mdss->irqcontroller.enabled_mask); in mdss_hw_mask_irq()
80 static void mdss_hw_unmask_irq(struct irq_data *irqd) in mdss_hw_unmask_irq() argument
82 struct mdp5_mdss *mdp5_mdss = irq_data_get_irq_chip_data(irqd); in mdss_hw_unmask_irq()
85 set_bit(irqd->hwirq, &mdp5_mdss->irqcontroller.enabled_mask); in mdss_hw_unmask_irq()
/Linux-v5.15/drivers/net/ethernet/mellanox/mlxbf_gige/
Dmlxbf_gige_gpio.c94 static void mlxbf_gige_gpio_mask(struct irq_data *irqd) in mlxbf_gige_gpio_mask() argument
96 struct mlxbf_gige *priv = irq_data_get_irq_chip_data(irqd); in mlxbf_gige_gpio_mask()
101 static void mlxbf_gige_gpio_unmask(struct irq_data *irqd) in mlxbf_gige_gpio_unmask() argument
103 struct mlxbf_gige *priv = irq_data_get_irq_chip_data(irqd); in mlxbf_gige_gpio_unmask()
/Linux-v5.15/drivers/iio/dummy/
Diio_dummy_evgen.c106 struct irq_data *irqd = irq_get_irq_data(irq); in iio_dummy_evgen_release_irq() local
109 iio_evgen->inuse[irqd_to_hwirq(irqd)] = false; in iio_dummy_evgen_release_irq()
117 struct irq_data *irqd = irq_get_irq_data(irq); in iio_dummy_evgen_get_regs() local
119 return &iio_evgen->regs[irqd_to_hwirq(irqd)]; in iio_dummy_evgen_get_regs()
/Linux-v5.15/arch/mips/sgi-ip27/
Dip27-irq.c160 struct irq_data *irqd; in hub_domain_free() local
165 irqd = irq_domain_get_irq_data(domain, virq); in hub_domain_free()
166 if (irqd && irqd->chip_data) in hub_domain_free()
167 kfree(irqd->chip_data); in hub_domain_free()
/Linux-v5.15/arch/mips/sgi-ip30/
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-v5.15/arch/mips/pci/
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-v5.15/arch/powerpc/sysdev/xics/
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-v5.15/drivers/pinctrl/
Dpinctrl-ingenic.c3329 static void ingenic_gpio_irq_mask(struct irq_data *irqd) in ingenic_gpio_irq_mask() argument
3331 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in ingenic_gpio_irq_mask()
3333 int irq = irqd->hwirq; in ingenic_gpio_irq_mask()
3341 static void ingenic_gpio_irq_unmask(struct irq_data *irqd) in ingenic_gpio_irq_unmask() argument
3343 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in ingenic_gpio_irq_unmask()
3345 int irq = irqd->hwirq; in ingenic_gpio_irq_unmask()
3353 static void ingenic_gpio_irq_enable(struct irq_data *irqd) in ingenic_gpio_irq_enable() argument
3355 struct gpio_chip *gc = irq_data_get_irq_chip_data(irqd); in ingenic_gpio_irq_enable()
3357 int irq = irqd->hwirq; in ingenic_gpio_irq_enable()
3366 ingenic_gpio_irq_unmask(irqd); in ingenic_gpio_irq_enable()
[all …]

12