/openbmc/linux/arch/x86/kernel/apic/ |
H A D | io_apic.c | 994 struct irq_data *irq_data = irq_get_irq_data(irq); in alloc_isa_irq_from_domain() local 1002 if (irq_data && irq_data->parent_data) { in alloc_isa_irq_from_domain() 1126 struct irq_data *irq_data = irq_get_irq_data(irq); in mp_unmap_irq() local 1129 if (!irq_data || !irq_data->domain) in mp_unmap_irq() 1920 struct irq_data *parent = irq_data->parent_data; in ioapic_set_affinity() 2166 struct irq_data *irq_data = irq_get_irq_data(0); in check_timer() local 3020 struct irq_data *irq_data; in mp_irqdomain_alloc() local 3072 struct irq_data *irq_data; in mp_irqdomain_free() local 3077 if (irq_data && irq_data->chip_data) { in mp_irqdomain_free() 3088 struct irq_data *irq_data, bool reserve) in mp_irqdomain_activate() argument [all …]
|
/openbmc/linux/drivers/usb/typec/tcpm/qcom/ |
H A D | qcom_pmic_typec_pdphy.c | 32 struct pmic_typec_pdphy_irq_data *irq_data; member 312 switch (irq_data->virq) { in qcom_pmic_typec_pdphy_isr() 455 enable_irq(pmic_typec_pdphy->irq_data[i].irq); in qcom_pmic_typec_pdphy_start() 484 struct pmic_typec_pdphy_irq_data *irq_data; in qcom_pmic_typec_pdphy_probe() local 490 irq_data = devm_kzalloc(dev, sizeof(*irq_data) * res->nr_irqs, in qcom_pmic_typec_pdphy_probe() 492 if (!irq_data) in qcom_pmic_typec_pdphy_probe() 503 pmic_typec_pdphy->irq_data = irq_data; in qcom_pmic_typec_pdphy_probe() 512 irq_data->pmic_typec_pdphy = pmic_typec_pdphy; in qcom_pmic_typec_pdphy_probe() 513 irq_data->irq = irq; in qcom_pmic_typec_pdphy_probe() 514 irq_data->virq = res->irq_params[i].virq; in qcom_pmic_typec_pdphy_probe() [all …]
|
H A D | qcom_pmic_typec_port.c | 33 struct pmic_typec_port_irq_data *irq_data; member 111 switch (irq_data->virq) { in pmic_typec_port_isr() 488 enable_irq(pmic_typec_port->irq_data[i].irq); in qcom_pmic_typec_port_start() 514 struct pmic_typec_port_irq_data *irq_data; in qcom_pmic_typec_port_probe() local 520 irq_data = devm_kzalloc(dev, sizeof(*irq_data) * res->nr_irqs, in qcom_pmic_typec_port_probe() 522 if (!irq_data) in qcom_pmic_typec_port_probe() 533 pmic_typec_port->irq_data = irq_data; in qcom_pmic_typec_port_probe() 548 irq_data->pmic_typec_port = pmic_typec_port; in qcom_pmic_typec_port_probe() 549 irq_data->irq = irq; in qcom_pmic_typec_port_probe() 550 irq_data->virq = res->irq_params[i].virq; in qcom_pmic_typec_port_probe() [all …]
|
/openbmc/linux/kernel/irq/ |
H A D | pm.c | 18 if (irqd_is_wakeup_armed(&desc->irq_data)) { in irq_pm_check_wakeup() 19 irqd_clear(&desc->irq_data, IRQD_WAKEUP_ARMED); in irq_pm_check_wakeup() 73 struct irq_data *irqd = &desc->irq_data; in suspend_device_irq() 153 struct irq_data *irqd = &desc->irq_data; in resume_irq() 217 !irqd_is_wakeup_set(&desc->irq_data)) in rearm_wake_irq() 221 irqd_set(&desc->irq_data, IRQD_WAKEUP_ARMED); in rearm_wake_irq()
|
H A D | migration.c | 20 struct irq_data *data = irq_desc_get_irq_data(desc); in irq_fixup_move_pending() 38 void irq_move_masked_irq(struct irq_data *idata) in irq_move_masked_irq() 41 struct irq_data *data = &desc->irq_data; in irq_move_masked_irq() 94 void __irq_move_irq(struct irq_data *idata) in __irq_move_irq()
|
H A D | resend.c | 56 if (handle_enforce_irqctx(&desc->irq_data)) in irq_sw_resend() 109 if (desc->irq_data.chip->irq_retrigger) in try_retrigger() 110 return desc->irq_data.chip->irq_retrigger(&desc->irq_data); in try_retrigger() 113 return irq_chip_retrigger_hierarchy(&desc->irq_data); in try_retrigger() 193 if ((desc->istate & IRQS_NMI) || !irqd_is_activated(&desc->irq_data)) in irq_inject_interrupt()
|
H A D | generic-chip.c | 25 void irq_gc_noop(struct irq_data *d) in irq_gc_noop() 37 void irq_gc_mask_disable_reg(struct irq_data *d) in irq_gc_mask_disable_reg() 57 void irq_gc_mask_set_bit(struct irq_data *d) in irq_gc_mask_set_bit() 77 void irq_gc_mask_clr_bit(struct irq_data *d) in irq_gc_mask_clr_bit() 97 void irq_gc_unmask_enable_reg(struct irq_data *d) in irq_gc_unmask_enable_reg() 114 void irq_gc_ack_set_bit(struct irq_data *d) in irq_gc_ack_set_bit() 130 void irq_gc_ack_clr_bit(struct irq_data *d) in irq_gc_ack_clr_bit() 170 void irq_gc_eoi(struct irq_data *d) in irq_gc_eoi() 496 struct irq_data *d = irq_get_irq_data(i); in irq_setup_generic_chip() 606 struct irq_data *data = irq_gc_get_irq_data(gc); in irq_gc_suspend() [all …]
|
/openbmc/linux/arch/powerpc/platforms/52xx/ |
H A D | mpc52xx_pic.c | 159 static void mpc52xx_extirq_mask(struct irq_data *d) in mpc52xx_extirq_mask() 165 static void mpc52xx_extirq_unmask(struct irq_data *d) in mpc52xx_extirq_unmask() 171 static void mpc52xx_extirq_ack(struct irq_data *d) in mpc52xx_extirq_ack() 216 static int mpc52xx_null_set_type(struct irq_data *d, unsigned int flow_type) in mpc52xx_null_set_type() 221 static void mpc52xx_main_mask(struct irq_data *d) in mpc52xx_main_mask() 227 static void mpc52xx_main_unmask(struct irq_data *d) in mpc52xx_main_unmask() 244 static void mpc52xx_periph_mask(struct irq_data *d) in mpc52xx_periph_mask() 250 static void mpc52xx_periph_unmask(struct irq_data *d) in mpc52xx_periph_unmask() 267 static void mpc52xx_sdma_mask(struct irq_data *d) in mpc52xx_sdma_mask() 273 static void mpc52xx_sdma_unmask(struct irq_data *d) in mpc52xx_sdma_unmask() [all …]
|
/openbmc/linux/arch/powerpc/platforms/embedded6xx/ |
H A D | hlwd-pic.c | 42 static void hlwd_pic_mask_and_ack(struct irq_data *d) in hlwd_pic_mask_and_ack() 52 static void hlwd_pic_ack(struct irq_data *d) in hlwd_pic_ack() 60 static void hlwd_pic_mask(struct irq_data *d) in hlwd_pic_mask() 68 static void hlwd_pic_unmask(struct irq_data *d) in hlwd_pic_unmask() 128 chip->irq_mask(&desc->irq_data); /* IRQ_LEVEL */ in hlwd_pic_irq_cascade() 138 chip->irq_ack(&desc->irq_data); /* IRQ_LEVEL */ in hlwd_pic_irq_cascade() 139 if (!irqd_irq_disabled(&desc->irq_data) && chip->irq_unmask) in hlwd_pic_irq_cascade() 140 chip->irq_unmask(&desc->irq_data); in hlwd_pic_irq_cascade()
|
/openbmc/linux/Documentation/translations/zh_CN/core-api/irq/ |
H A D | irq-domain.rst | 72 如果驱动程序有Linux的IRQ号或irq_data指针,并且需要知道相关的hwirq号(比 73 如在irq_chip回调中),那么可以直接从irq_data->hwirq中获得。 218 2) 一个新的字段 'parent_data' 被添加到irq_data结构中;它用于建立层次结构irq_data以 219 匹配irq_domain层次结构。irq_data用于存储irq_domain指针和硬件irq号。 222 在支持分层irq_domain和分层irq_data准备就绪后,为每个中断控制器建立一个irq_domain结 223 构,并为每个与IRQ相关联的irq_domain分配一个irq_data结构。现在我们可以再进一步支持堆 224 栈式(层次结构)的irq_chip。也就是说,一个irq_chip与层次结构中的每个irq_data相关联。
|
/openbmc/linux/drivers/mfd/ |
H A D | mt6397-irq.c | 19 static void mt6397_irq_lock(struct irq_data *data) in mt6397_irq_lock() 26 static void mt6397_irq_sync_unlock(struct irq_data *data) in mt6397_irq_sync_unlock() 38 static void mt6397_irq_disable(struct irq_data *data) in mt6397_irq_disable() 47 static void mt6397_irq_enable(struct irq_data *data) in mt6397_irq_enable() 56 static int mt6397_irq_set_wake(struct irq_data *irq_data, unsigned int on) in mt6397_irq_set_wake() argument 58 struct mt6397_chip *mt6397 = irq_data_get_irq_chip_data(irq_data); in mt6397_irq_set_wake() 59 int shift = irq_data->hwirq & 0xf; in mt6397_irq_set_wake() 60 int reg = irq_data->hwirq >> 4; in mt6397_irq_set_wake()
|
H A D | max8997-irq.c | 100 static void max8997_irq_lock(struct irq_data *data) in max8997_irq_lock() 107 static void max8997_irq_sync_unlock(struct irq_data *data) in max8997_irq_sync_unlock() 129 irq_to_max8997_irq(struct max8997_dev *max8997, struct irq_data *data) in irq_to_max8997_irq() 134 static void max8997_irq_mask(struct irq_data *data) in max8997_irq_mask() 137 const struct max8997_irq_data *irq_data = irq_to_max8997_irq(max8997, in max8997_irq_mask() local 140 max8997->irq_masks_cur[irq_data->group] |= irq_data->mask; in max8997_irq_mask() 143 static void max8997_irq_unmask(struct irq_data *data) in max8997_irq_unmask() 146 const struct max8997_irq_data *irq_data = irq_to_max8997_irq(max8997, in max8997_irq_unmask() local 149 max8997->irq_masks_cur[irq_data->group] &= ~irq_data->mask; in max8997_irq_unmask()
|
/openbmc/linux/arch/parisc/include/asm/ |
H A D | irq.h | 36 struct irq_data; 38 void cpu_ack_irq(struct irq_data *d); 39 void cpu_eoi_irq(struct irq_data *d); 48 extern int cpu_check_affinity(struct irq_data *d, const struct cpumask *dest);
|
/openbmc/linux/drivers/gpu/drm/amd/display/dc/link/protocols/ |
H A D | link_dp_irq_handler.c | 273 static void read_dpcd204h_on_irq_hpd(struct dc_link *link, union hpd_irq_data *irq_data) in read_dpcd204h_on_irq_hpd() argument 285 irq_data->bytes.lane_status_updated.bits.EQ_INTERLANE_ALIGN_DONE_128b_132b = in read_dpcd204h_on_irq_hpd() 287 irq_data->bytes.lane_status_updated.bits.CDS_INTERLANE_ALIGN_DONE_128b_132b = in read_dpcd204h_on_irq_hpd() 294 union hpd_irq_data *irq_data) in dp_read_hpd_rx_irq_data() argument 310 irq_data->raw, in dp_read_hpd_rx_irq_data() 327 irq_data->bytes.sink_cnt.raw = tmp[DP_SINK_COUNT_ESI - DP_SINK_COUNT_ESI]; in dp_read_hpd_rx_irq_data() 328 …irq_data->bytes.device_service_irq.raw = tmp[DP_DEVICE_SERVICE_IRQ_VECTOR_ESI0 - DP_SINK_COUNT_ESI… in dp_read_hpd_rx_irq_data() 329 irq_data->bytes.lane01_status.raw = tmp[DP_LANE0_1_STATUS_ESI - DP_SINK_COUNT_ESI]; in dp_read_hpd_rx_irq_data() 330 irq_data->bytes.lane23_status.raw = tmp[DP_LANE2_3_STATUS_ESI - DP_SINK_COUNT_ESI]; in dp_read_hpd_rx_irq_data() 332 irq_data->bytes.sink_status.raw = tmp[DP_SINK_STATUS_ESI - DP_SINK_COUNT_ESI]; in dp_read_hpd_rx_irq_data() [all …]
|
/openbmc/linux/drivers/irqchip/ |
H A D | irq-xtensa-mx.c | 70 static void xtensa_mx_irq_mask(struct irq_data *d) in xtensa_mx_irq_mask() 88 static void xtensa_mx_irq_unmask(struct irq_data *d) in xtensa_mx_irq_unmask() 106 static void xtensa_mx_irq_enable(struct irq_data *d) in xtensa_mx_irq_enable() 111 static void xtensa_mx_irq_disable(struct irq_data *d) in xtensa_mx_irq_disable() 116 static void xtensa_mx_irq_ack(struct irq_data *d) in xtensa_mx_irq_ack() 121 static int xtensa_mx_irq_retrigger(struct irq_data *d) in xtensa_mx_irq_retrigger() 131 static int xtensa_mx_irq_set_affinity(struct irq_data *d, in xtensa_mx_irq_set_affinity()
|
H A D | irq-bcm2836.c | 43 static void bcm2836_arm_irqchip_mask_timer_irq(struct irq_data *d) in bcm2836_arm_irqchip_mask_timer_irq() 50 static void bcm2836_arm_irqchip_unmask_timer_irq(struct irq_data *d) in bcm2836_arm_irqchip_unmask_timer_irq() 63 static void bcm2836_arm_irqchip_mask_pmu_irq(struct irq_data *d) in bcm2836_arm_irqchip_mask_pmu_irq() 68 static void bcm2836_arm_irqchip_unmask_pmu_irq(struct irq_data *d) in bcm2836_arm_irqchip_unmask_pmu_irq() 79 static void bcm2836_arm_irqchip_mask_gpu_irq(struct irq_data *d) in bcm2836_arm_irqchip_mask_gpu_irq() 83 static void bcm2836_arm_irqchip_unmask_gpu_irq(struct irq_data *d) in bcm2836_arm_irqchip_unmask_gpu_irq() 93 static void bcm2836_arm_irqchip_dummy_op(struct irq_data *d) in bcm2836_arm_irqchip_dummy_op() 170 static void bcm2836_arm_irqchip_ipi_ack(struct irq_data *d) in bcm2836_arm_irqchip_ipi_ack() 178 static void bcm2836_arm_irqchip_ipi_send_mask(struct irq_data *d, in bcm2836_arm_irqchip_ipi_send_mask()
|
H A D | irq-or1k-pic.c | 26 static void or1k_pic_mask(struct irq_data *data) in or1k_pic_mask() 31 static void or1k_pic_unmask(struct irq_data *data) in or1k_pic_unmask() 36 static void or1k_pic_ack(struct irq_data *data) in or1k_pic_ack() 41 static void or1k_pic_mask_ack(struct irq_data *data) in or1k_pic_mask_ack() 53 static void or1k_pic_or1200_ack(struct irq_data *data) in or1k_pic_or1200_ack() 58 static void or1k_pic_or1200_mask_ack(struct irq_data *data) in or1k_pic_or1200_mask_ack()
|
/openbmc/linux/arch/hexagon/kernel/ |
H A D | irq_cpu.c | 12 static void mask_irq(struct irq_data *data) in mask_irq() 22 static void unmask_irq(struct irq_data *data) in unmask_irq() 28 static void eoi_irq(struct irq_data *data) in eoi_irq() 40 static int set_wake(struct irq_data *data, unsigned int on) in set_wake()
|
/openbmc/linux/arch/mips/cavium-octeon/ |
H A D | octeon-irq.c | 120 struct irq_data *data = irq_get_irq_data(irq); in octeon_irq_free_cd() 161 static void octeon_irq_core_ack(struct irq_data *data) in octeon_irq_core_ack() 177 static void octeon_irq_core_eoi(struct irq_data *data) in octeon_irq_core_eoi() 191 struct irq_data *data = arg; in octeon_irq_core_set_enable_local() 271 static int next_cpu_for_irq(struct irq_data *data) in next_cpu_for_irq() 601 static void octeon_irq_ciu_ack(struct irq_data *data) in octeon_irq_ciu_ack() 2278 struct irq_data *irq_data = irq_desc_get_irq_data(desc); in octeon_irq_cib_handler() local 2280 if (irqd_get_trigger_type(irq_data) & in octeon_irq_cib_handler() 2404 void octeon_irq_ciu3_enable(struct irq_data *data) in octeon_irq_ciu3_enable() 2447 void octeon_irq_ciu3_ack(struct irq_data *data) in octeon_irq_ciu3_ack() [all …]
|
/openbmc/linux/arch/powerpc/platforms/8xx/ |
H A D | pic.c | 22 static inline unsigned long mpc8xx_irqd_to_bit(struct irq_data *d) in mpc8xx_irqd_to_bit() 27 static void mpc8xx_unmask_irq(struct irq_data *d) in mpc8xx_unmask_irq() 33 static void mpc8xx_mask_irq(struct irq_data *d) in mpc8xx_mask_irq() 39 static void mpc8xx_ack(struct irq_data *d) in mpc8xx_ack() 44 static void mpc8xx_end_irq(struct irq_data *d) in mpc8xx_end_irq() 50 static int mpc8xx_set_irq_type(struct irq_data *d, unsigned int flow_type) in mpc8xx_set_irq_type()
|
/openbmc/linux/drivers/remoteproc/ |
H A D | da8xx_remoteproc.c | 72 void (*ack_fxn)(struct irq_data *data); 73 struct irq_data *irq_data; member 125 drproc->ack_fxn(drproc->irq_data); in da8xx_rproc_callback() 241 struct irq_data *irq_data; in da8xx_rproc_probe() local 255 irq_data = irq_get_irq_data(irq); in da8xx_rproc_probe() 256 if (!irq_data) { in da8xx_rproc_probe() 340 drproc->ack_fxn = irq_data->chip->irq_ack; in da8xx_rproc_probe() 341 drproc->irq_data = irq_data; in da8xx_rproc_probe()
|
/openbmc/linux/arch/arm/mach-footbridge/ |
H A D | isa-irq.c | 30 static void isa_mask_pic_lo_irq(struct irq_data *d) in isa_mask_pic_lo_irq() 37 static void isa_ack_pic_lo_irq(struct irq_data *d) in isa_ack_pic_lo_irq() 45 static void isa_unmask_pic_lo_irq(struct irq_data *d) in isa_unmask_pic_lo_irq() 58 static void isa_mask_pic_hi_irq(struct irq_data *d) in isa_mask_pic_hi_irq() 65 static void isa_ack_pic_hi_irq(struct irq_data *d) in isa_ack_pic_hi_irq() 74 static void isa_unmask_pic_hi_irq(struct irq_data *d) in isa_unmask_pic_hi_irq()
|
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7921/ |
H A D | sdio.c | 60 struct mt7921_sdio_intr *irq_data = sdio->intr_data; in mt7921s_parse_intr() local 64 err = sdio_readsb(sdio->func, irq_data, MCR_WHISR, sizeof(*irq_data)); in mt7921s_parse_intr() 70 if (irq_data->rx.num[0] > 16 || in mt7921s_parse_intr() 71 irq_data->rx.num[1] > 128) in mt7921s_parse_intr() 74 intr->isr = irq_data->isr; in mt7921s_parse_intr() 75 intr->rec_mb = irq_data->rec_mb; in mt7921s_parse_intr() 76 intr->tx.wtqcr = irq_data->tx.wtqcr; in mt7921s_parse_intr() 77 intr->rx.num = irq_data->rx.num; in mt7921s_parse_intr() 80 intr->rx.len[0] = irq_data->rx.len0; in mt7921s_parse_intr() 82 intr->rx.len[1] = irq_data->rx.len1; in mt7921s_parse_intr()
|
/openbmc/linux/arch/mips/sgi-ip32/ |
H A D | ip32-irq.c | 121 static inline void crime_enable_irq(struct irq_data *d) in crime_enable_irq() 129 static inline void crime_disable_irq(struct irq_data *d) in crime_disable_irq() 144 static void crime_edge_mask_and_ack_irq(struct irq_data *d) in crime_edge_mask_and_ack_irq() 173 static void enable_macepci_irq(struct irq_data *d) in enable_macepci_irq() 181 static void disable_macepci_irq(struct irq_data *d) in disable_macepci_irq() 236 static void enable_maceisa_irq(struct irq_data *d) in enable_maceisa_irq() 260 static void disable_maceisa_irq(struct irq_data *d) in disable_maceisa_irq() 278 static void mask_and_ack_maceisa_irq(struct irq_data *d) in mask_and_ack_maceisa_irq() 308 static void enable_mace_irq(struct irq_data *d) in enable_mace_irq() 316 static void disable_mace_irq(struct irq_data *d) in disable_mace_irq()
|
/openbmc/linux/drivers/sh/intc/ |
H A D | chip.c | 16 void _intc_enable(struct irq_data *data, unsigned long handle) in _intc_enable() 36 static void intc_enable(struct irq_data *data) in intc_enable() 41 static void intc_disable(struct irq_data *data) in intc_disable() 68 static int intc_set_affinity(struct irq_data *data, in intc_set_affinity() 81 static void intc_mask_ack(struct irq_data *data) in intc_mask_ack() 132 struct irq_data *data = irq_get_irq_data(irq); in intc_set_priority() 174 static int intc_set_type(struct irq_data *data, unsigned int type) in intc_set_type()
|