| /linux/arch/x86/kernel/apic/ |
| H A D | vector.c | 89 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 D | msi.c | 26 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 D | pinctrl-s3c64xx.c | 316 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 D | pinctrl-exynos.c | 58 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 D | pm.c | 68 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 D | irq_sim.c | 167 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/misc/rp1/ |
| H A D | rp1_pci.c | 60 static void rp1_mask_irq(struct irq_data *irqd) in rp1_mask_irq() argument 62 struct rp1_dev *rp1 = irqd->domain->host_data; in rp1_mask_irq() 63 struct irq_data *pcie_irqd = rp1->pcie_irqds[irqd->hwirq]; in rp1_mask_irq() 68 static void rp1_unmask_irq(struct irq_data *irqd) in rp1_unmask_irq() argument 70 struct rp1_dev *rp1 = irqd->domain->host_data; in rp1_unmask_irq() 71 struct irq_data *pcie_irqd = rp1->pcie_irqds[irqd->hwirq]; in rp1_unmask_irq() 76 static int rp1_irq_set_type(struct irq_data *irqd, unsigned int type) in rp1_irq_set_type() argument 78 struct rp1_dev *rp1 = irqd->domain->host_data; in rp1_irq_set_type() 79 unsigned int hwirq = (unsigned int)irqd->hwirq; in rp1_irq_set_type() 145 static int rp1_irq_activate(struct irq_domain *d, struct irq_data *irqd, in rp1_irq_activate() argument [all …]
|
| /linux/drivers/gpio/ |
| H A D | gpio-dln2.c | 303 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 D | gpio-ljca.c | 303 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 D | gpio-max77759.c | 439 struct irq_data *irqd; in max77759_gpio_probe() local 490 irqd = irq_get_irq_data(irq); in max77759_gpio_probe() 491 if (irqd) in max77759_gpio_probe() 492 irq_flags |= irqd_get_trigger_type(irqd); in max77759_gpio_probe()
|
| H A D | gpio-adp5585.c | 275 struct irq_data *irqd; in adp5585_gpio_key_event() local 290 irqd = irq_get_irq_data(irq); in adp5585_gpio_key_event() 291 if (!irqd) { in adp5585_gpio_key_event() 302 irq_type = irqd_get_trigger_type(irqd); in adp5585_gpio_key_event()
|
| H A D | gpio-thunderx.c | 408 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/irqchip/ |
| H A D | irq-keystone.c | 31 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 D | irq-sun4i.c | 49 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 D | irq-loongarch-avec.c | 255 static int avecintc_alloc_vector(struct irq_data *irqd, struct avecintc_data *adata) in avecintc_alloc_vector() argument 267 per_cpu_ptr(irq_map, adata->cpu)[adata->vec] = irq_data_to_desc(irqd); in avecintc_alloc_vector() 276 struct irq_data *irqd = irq_domain_get_irq_data(domain, virq + i); in avecintc_domain_alloc() local 283 ret = avecintc_alloc_vector(irqd, adata); in avecintc_domain_alloc() 291 irqd_set_single_target(irqd); in avecintc_domain_alloc() 292 irqd_set_affinity_on_activate(irqd); in avecintc_domain_alloc() 298 static void avecintc_free_vector(struct irq_data *irqd, struct avecintc_data *adata) in avecintc_free_vector() argument
|
| H A D | irq-zevio.c | 39 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/drivers/soc/qcom/ |
| H A D | smsm.c | 249 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 …]
|
| H A D | smp2p.c | 327 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/arch/x86/hyperv/ |
| H A D | irqdomain.c | 274 static void hv_teardown_msi_irq(struct pci_dev *dev, struct irq_data *irqd) in hv_teardown_msi_irq() argument 279 if (!irqd->chip_data) { in hv_teardown_msi_irq() 284 old_entry = *(struct hv_interrupt_entry *)irqd->chip_data; in hv_teardown_msi_irq() 287 kfree(irqd->chip_data); in hv_teardown_msi_irq() 288 irqd->chip_data = NULL; in hv_teardown_msi_irq() 356 struct irq_data *irqd = irq_domain_get_irq_data(d, virq); in hv_msi_domain_free() local 359 desc = irq_data_get_msi_desc(irqd); in hv_msi_domain_free() 363 hv_teardown_msi_irq(to_pci_dev(desc->dev), irqd); in hv_msi_domain_free()
|
| /linux/drivers/mailbox/ |
| H A D | qcom-ipcc.c | 93 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/drivers/iio/dummy/ |
| H A D | iio_dummy_evgen.c | 104 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 D | ip30-irq.c | 230 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 D | pci-xtalk-bridge.c | 364 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/drivers/gpu/drm/msm/ |
| H A D | msm_mdss.c | 104 static void msm_mdss_irq_mask(struct irq_data *irqd) in msm_mdss_irq_mask() argument 106 struct msm_mdss *msm_mdss = irq_data_get_irq_chip_data(irqd); in msm_mdss_irq_mask() 110 clear_bit(irqd->hwirq, &msm_mdss->irq_controller.enabled_mask); in msm_mdss_irq_mask() 115 static void msm_mdss_irq_unmask(struct irq_data *irqd) in msm_mdss_irq_unmask() argument 117 struct msm_mdss *msm_mdss = irq_data_get_irq_chip_data(irqd); in msm_mdss_irq_unmask() 121 set_bit(irqd->hwirq, &msm_mdss->irq_controller.enabled_mask); in msm_mdss_irq_unmask()
|
| /linux/arch/powerpc/sysdev/xics/ |
| H A D | xics-common.c | 202 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()
|