| /linux-6.15/include/linux/ |
| H A D | irq.h | 177 struct irq_data { struct 185 struct irq_data *parent_data; argument 496 void (*irq_enable)(struct irq_data *data); 499 void (*irq_ack)(struct irq_data *data); 500 void (*irq_mask)(struct irq_data *data); 502 void (*irq_unmask)(struct irq_data *data); 503 void (*irq_eoi)(struct irq_data *data); 518 void (*irq_resume)(struct irq_data *data); 619 void __irq_move_irq(struct irq_data *data); 1142 void irq_gc_noop(struct irq_data *d); [all …]
|
| H A D | irqdesc.h | 69 struct irq_data irq_data; member 137 static inline struct irq_desc *irq_data_to_desc(struct irq_data *data) in irq_data_to_desc() 144 return desc->irq_data.irq; in irq_desc_get_irq() 147 static inline struct irq_data *irq_desc_get_irq_data(struct irq_desc *desc) in irq_desc_get_irq_data() 149 return &desc->irq_data; in irq_desc_get_irq_data() 154 return desc->irq_data.chip; in irq_desc_get_chip() 159 return desc->irq_data.chip_data; in irq_desc_get_chip_data() 207 static inline void irq_set_handler_locked(struct irq_data *data, in irq_set_handler_locked() 228 irq_set_chip_handler_name_locked(struct irq_data *data, in irq_set_chip_handler_name_locked()
|
| /linux-6.15/kernel/irq/ |
| H A D | chip.c | 242 desc->irq_data.chip->irq_enable(&desc->irq_data); in irq_enable() 394 desc->irq_data.chip->irq_enable(&desc->irq_data); in irq_percpu_enable() 396 desc->irq_data.chip->irq_unmask(&desc->irq_data); in irq_percpu_enable() 405 desc->irq_data.chip->irq_mask(&desc->irq_data); in irq_percpu_disable() 417 desc->irq_data.chip->irq_ack(&desc->irq_data); in mask_ack_irq() 427 desc->irq_data.chip->irq_mask(&desc->irq_data); in mask_irq() 438 desc->irq_data.chip->irq_unmask(&desc->irq_data); in unmask_irq() 812 desc->irq_data.chip->irq_ack(&desc->irq_data); in handle_edge_irq() 944 struct irq_data *irq_data = &desc->irq_data; in __irq_do_set_handler() local 964 irq_data = irq_data->parent_data; in __irq_do_set_handler() [all …]
|
| H A D | irqdomain.c | 629 struct irq_data *irq_data) in irq_domain_set_mapping() argument 899 struct irq_data *irq_data; in irq_create_fwspec_mapping() local 1016 struct irq_data *irq_data; in irq_dispose_mapping() local 1331 struct irq_data *irq_data; in irq_domain_insert_irq_data() local 1351 irq_data = irq_data->parent_data; in __irq_domain_free_hierarchy() 1358 struct irq_data *irq_data, *tmp; in irq_domain_free_irq_data() local 1450 struct irq_data *irq_data; in irq_domain_alloc_irq_data() local 1479 struct irq_data *irq_data; in irq_domain_get_irq_data() local 1547 struct irq_data *irq_data; in irq_domain_free_irqs_common() local 1938 if (irq_data && irq_data->domain) { in __irq_domain_deactivate_irq() [all …]
|
| H A D | internals.h | 135 extern int irq_do_set_affinity(struct irq_data *data, 147 if (unlikely(desc->irq_data.chip->irq_bus_lock)) in chip_bus_lock() 148 desc->irq_data.chip->irq_bus_lock(&desc->irq_data); in chip_bus_lock() 153 if (unlikely(desc->irq_data.chip->irq_bus_sync_unlock)) in chip_bus_sync_unlock() 154 desc->irq_data.chip->irq_bus_sync_unlock(&desc->irq_data); in chip_bus_sync_unlock() 197 static inline unsigned int irqd_get(struct irq_data *d) in irqd_get() 242 irqd_set(&desc->irq_data, IRQD_IRQ_DISABLED); in irq_state_set_disabled() 247 irqd_set(&desc->irq_data, IRQD_IRQ_MASKED); in irq_state_set_masked() 417 static inline bool irq_move_pending(struct irq_data *data) in irq_move_pending() 442 static inline bool irq_move_pending(struct irq_data *data) in irq_move_pending() [all …]
|
| H A D | manage.c | 153 !desc->irq_data.chip || !desc->irq_data.chip->irq_set_affinity) in __irq_can_set_affinity() 662 struct irq_data *data; in irq_set_vcpu_affinity() 837 if (WARN(!desc->irq_data.chip, in enable_irq() 870 ret = desc->irq_data.chip->irq_set_wake(&desc->irq_data, on); in set_irq_wake_real() 992 irqd_set(&desc->irq_data, flags); in __irq_set_trigger() 1404 struct irq_data *d = &desc->irq_data; in irq_request_resources() 1412 struct irq_data *d = &desc->irq_data; in irq_release_resources() 2001 irq_chip_pm_put(&desc->irq_data); in __free_irq() 2069 irq_chip_pm_put(&desc->irq_data); in __cleanup_nmi() 2834 struct irq_data *data; in irq_get_irqchip_state() [all …]
|
| H A D | migration.c | 20 struct irq_data *data = irq_desc_get_irq_data(desc); in irq_fixup_move_pending() 40 for (struct irq_data *d = irq_desc_get_irq_data(desc); d; d = irqd_get_parent_data(d)) { in irq_force_complete_move() 48 void irq_move_masked_irq(struct irq_data *idata) in irq_move_masked_irq() 51 struct irq_data *data = &desc->irq_data; in irq_move_masked_irq() 104 void __irq_move_irq(struct irq_data *idata) in __irq_move_irq() 131 bool irq_can_move_in_process_context(struct irq_data *data) in irq_can_move_in_process_context()
|
| /linux-6.15/drivers/iommu/ |
| H A D | hyperv-iommu.c | 70 struct irq_data *irq_data; in hyperv_irq_remapping_alloc() local 81 if (!irq_data) { in hyperv_irq_remapping_alloc() 86 irq_data->chip = &hyperv_ir_chip; in hyperv_irq_remapping_alloc() 194 hyperv_root_ir_compose_msi_msg(struct irq_data *irq_data, struct msi_msg *msg) in hyperv_root_ir_compose_msi_msg() argument 206 cfg = irqd_cfg(irq_data); in hyperv_root_ir_compose_msi_msg() 277 struct irq_data *irq_data; in hyperv_root_irq_remapping_alloc() local 295 if (!irq_data) { in hyperv_root_irq_remapping_alloc() 305 irq_data->chip_data = data; in hyperv_root_irq_remapping_alloc() 313 struct irq_data *irq_data; in hyperv_root_irq_remapping_free() local 321 if (irq_data && irq_data->chip_data) { in hyperv_root_irq_remapping_free() [all …]
|
| /linux-6.15/arch/x86/platform/uv/ |
| H A D | uv_irq.c | 48 static void uv_noop(struct irq_data *data) { } in uv_noop() 51 uv_set_irq_affinity(struct irq_data *data, const struct cpumask *mask, in uv_set_irq_affinity() 54 struct irq_data *parent = data->parent_data; in uv_set_irq_affinity() 80 struct irq_data *irq_data = irq_domain_get_irq_data(domain, virq); in uv_domain_alloc() local 87 irq_data_get_node(irq_data)); in uv_domain_alloc() 110 struct irq_data *irq_data = irq_domain_get_irq_data(domain, virq); in uv_domain_free() local 113 kfree(irq_data->chip_data); in uv_domain_free() 123 struct irq_data *irq_data, bool reserve) in uv_domain_activate() argument 125 uv_program_mmr(irqd_cfg(irq_data), irq_data->chip_data); in uv_domain_activate() 134 struct irq_data *irq_data) in uv_domain_deactivate() argument [all …]
|
| /linux-6.15/Documentation/translations/zh_CN/core-api/ |
| H A D | genericirq.rst | 176 default_enable(struct irq_data *data) 187 default_ack(struct irq_data *data) 202 noop(struct irq_data *data)) 218 desc->irq_data.chip->irq_mask_ack(); 220 desc->irq_data.chip->irq_unmask(); 231 desc->irq_data.chip->irq_eoi(); 246 desc->irq_data.chip->irq_ack(); 280 if (desc->irq_data.chip->irq_ack) 281 desc->irq_data.chip->irq_ack(); 283 if (desc->irq_data.chip->irq_eoi) [all …]
|
| /linux-6.15/arch/sparc/kernel/ |
| H A D | prom_irqtrans.c | 264 (void *) irq_data); in sabre_irq_build() 273 struct sabre_irq_data *irq_data; in sabre_irq_trans_init() local 287 dp->irq_trans->data = irq_data; in sabre_irq_trans_init() 410 if (irq_data->portid & 1) in schizo_irq_build() 421 (void *) irq_data->sync_reg); in schizo_irq_build() 431 struct schizo_irq_data *irq_data; in __schizo_irq_trans_init() local 439 dp->irq_trans->data = irq_data; in __schizo_irq_trans_init() 445 irq_data->sync_reg = 0UL; in __schizo_irq_trans_init() 538 ino |= (irq_data->portid << 6); in fire_irq_build() 546 struct fire_irq_data *irq_data; in fire_irq_trans_init() local [all …]
|
| /linux-6.15/drivers/mfd/ |
| H A D | rc5t583-irq.c | 140 static void rc5t583_irq_lock(struct irq_data *irq_data) in rc5t583_irq_lock() argument 142 struct rc5t583 *rc5t583 = irq_data_get_irq_chip_data(irq_data); in rc5t583_irq_lock() 146 static void rc5t583_irq_unmask(struct irq_data *irq_data) in rc5t583_irq_unmask() argument 149 unsigned int __irq = irq_data->irq - rc5t583->irq_base; in rc5t583_irq_unmask() 157 static void rc5t583_irq_mask(struct irq_data *irq_data) in rc5t583_irq_mask() argument 160 unsigned int __irq = irq_data->irq - rc5t583->irq_base; in rc5t583_irq_mask() 170 static int rc5t583_irq_set_type(struct irq_data *irq_data, unsigned int type) in rc5t583_irq_set_type() argument 173 unsigned int __irq = irq_data->irq - rc5t583->irq_base; in rc5t583_irq_set_type() 192 rc5t583_irq_unmask(irq_data); in rc5t583_irq_set_type() 198 static void rc5t583_irq_sync_unlock(struct irq_data *irq_data) in rc5t583_irq_sync_unlock() argument [all …]
|
| H A D | qcom-pm8008.c | 109 const struct regmap_irq *irq_data, int idx, in pm8008_set_type_config() argument 115 buf[POLARITY_HI_INDEX][idx] &= ~irq_data->mask; in pm8008_set_type_config() 116 buf[POLARITY_LO_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config() 121 buf[POLARITY_HI_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config() 122 buf[POLARITY_LO_INDEX][idx] &= ~irq_data->mask; in pm8008_set_type_config() 126 buf[POLARITY_HI_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config() 127 buf[POLARITY_LO_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config() 135 buf[SET_TYPE_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config() 137 buf[SET_TYPE_INDEX][idx] &= ~irq_data->mask; in pm8008_set_type_config() 195 struct regmap_irq_chip_data *irq_data; in pm8008_probe() local [all …]
|
| H A D | max8925-core.c | 480 irq_data = &max8925_irqs[i]; in max8925_irq() 482 if (irq_data->tsc_irq) in max8925_irq() 491 read_reg = irq_data->reg; in max8925_irq() 494 if (value & irq_data->enable) in max8925_irq() 509 irq_data = &max8925_irqs[i]; in max8925_tsc_irq() 511 if (!irq_data->tsc_irq) in max8925_tsc_irq() 520 read_reg = irq_data->reg; in max8925_tsc_irq() 523 if (value & irq_data->enable) in max8925_tsc_irq() 555 irq_data = &max8925_irqs[i]; in max8925_irq_sync_unlock() 557 switch (irq_data->mask_reg) { in max8925_irq_sync_unlock() [all …]
|
| H A D | mt6358-irq.c | 75 static void pmic_irq_enable(struct irq_data *data) in pmic_irq_enable() 79 struct pmic_irq_data *irqd = chip->irq_data; in pmic_irq_enable() 88 struct pmic_irq_data *irqd = chip->irq_data; in pmic_irq_disable() 93 static void pmic_irq_lock(struct irq_data *data) in pmic_irq_lock() 104 struct pmic_irq_data *irqd = chip->irq_data; in pmic_irq_sync_unlock() 146 struct pmic_irq_data *irqd = chip->irq_data; in mt6358_irq_sp_handler() 183 struct pmic_irq_data *irqd = chip->irq_data; in mt6358_irq_handler() 234 chip->irq_data = &mt6357_irqd; in mt6358_irq_init() 239 chip->irq_data = &mt6358_irqd; in mt6358_irq_init() 243 chip->irq_data = &mt6359_irqd; in mt6358_irq_init() [all …]
|
| H A D | max8998-irq.c | 95 irq_to_max8998_irq(struct max8998_dev *max8998, struct irq_data *data) in irq_to_max8998_irq() 100 static void max8998_irq_lock(struct irq_data *data) in max8998_irq_lock() 107 static void max8998_irq_sync_unlock(struct irq_data *data) in max8998_irq_sync_unlock() 127 static void max8998_irq_unmask(struct irq_data *data) in max8998_irq_unmask() 130 struct max8998_irq_data *irq_data = irq_to_max8998_irq(max8998, data); in max8998_irq_unmask() local 132 max8998->irq_masks_cur[irq_data->reg - 1] &= ~irq_data->mask; in max8998_irq_unmask() 135 static void max8998_irq_mask(struct irq_data *data) in max8998_irq_mask() 138 struct max8998_irq_data *irq_data = irq_to_max8998_irq(max8998, data); in max8998_irq_mask() local 140 max8998->irq_masks_cur[irq_data->reg - 1] |= irq_data->mask; in max8998_irq_mask()
|
| /linux-6.15/drivers/irqchip/ |
| H A D | irq-partition-percpu.c | 31 static void partition_irq_mask(struct irq_data *d) in partition_irq_mask() 35 struct irq_data *data = irq_desc_get_irq_data(part->chained_desc); in partition_irq_mask() 42 static void partition_irq_unmask(struct irq_data *d) in partition_irq_unmask() 46 struct irq_data *data = irq_desc_get_irq_data(part->chained_desc); in partition_irq_unmask() 53 static int partition_irq_set_irqchip_state(struct irq_data *d, in partition_irq_set_irqchip_state() 59 struct irq_data *data = irq_desc_get_irq_data(part->chained_desc); in partition_irq_set_irqchip_state() 68 static int partition_irq_get_irqchip_state(struct irq_data *d, in partition_irq_get_irqchip_state() 74 struct irq_data *data = irq_desc_get_irq_data(part->chained_desc); in partition_irq_get_irqchip_state() 87 struct irq_data *data = irq_desc_get_irq_data(part->chained_desc); in partition_irq_set_type() 99 struct irq_data *data = irq_desc_get_irq_data(part->chained_desc); in partition_irq_print_chip() [all …]
|
| /linux-6.15/arch/x86/kernel/apic/ |
| H A D | io_apic.c | 402 static void mask_ioapic_irq(struct irq_data *irq_data) in mask_ioapic_irq() argument 926 struct irq_data *irq_data = irq_get_irq_data(irq); in alloc_isa_irq_from_domain() local 935 if (irq_data && irq_data->parent_data) { in alloc_isa_irq_from_domain() 1049 struct irq_data *irq_data = irq_get_irq_data(irq); in mp_unmap_irq() local 1052 if (!irq_data || !irq_data->domain) in mp_unmap_irq() 1799 struct irq_data *parent = irq_data->parent_data; in ioapic_set_affinity() 2053 struct irq_data *irq_data = irq_get_irq_data(0); in check_timer() local 2855 struct irq_data *irq_data; in mp_irqdomain_alloc() local 2912 struct irq_data *irq_data; in mp_irqdomain_free() local 2917 if (irq_data && irq_data->chip_data) { in mp_irqdomain_free() [all …]
|
| /linux-6.15/drivers/regulator/ |
| H A D | tps65219-regulator.c | 275 if (irq_data->type->event_name[0] == '\0') { in tps65219_regulator_irq_handler() 277 dev_err(irq_data->dev, in tps65219_regulator_irq_handler() 282 regulator_notifier_call_chain(irq_data->rdev, in tps65219_regulator_irq_handler() 283 irq_data->type->event, NULL); in tps65219_regulator_irq_handler() 286 irq_data->type->event_name, irq_data->type->regulator_name); in tps65219_regulator_irq_handler() 298 struct tps65219_regulator_irq_data *irq_data; in tps65219_regulator_probe() local 314 irq_data = devm_kmalloc(tps->dev, in tps65219_regulator_probe() 318 if (!irq_data) in tps65219_regulator_probe() 328 irq_data[i].dev = tps->dev; in tps65219_regulator_probe() 329 irq_data[i].type = irq_type; in tps65219_regulator_probe() [all …]
|
| H A D | tps6594-regulator.c | 500 if (irq_data->type->event_name[0] == '\0') { in tps6594_regulator_irq_handler() 502 dev_err(irq_data->dev, in tps6594_regulator_irq_handler() 508 irq_data->type->event_name, irq_data->type->regulator_name); in tps6594_regulator_irq_handler() 510 regulator_notifier_call_chain(irq_data->rdev, in tps6594_regulator_irq_handler() 511 irq_data->type->event, NULL); in tps6594_regulator_irq_handler() 535 irq_data[*irq_idx].dev = tps->dev; in tps6594_request_reg_irqs() 536 irq_data[*irq_idx].type = irq_type; in tps6594_request_reg_irqs() 537 irq_data[*irq_idx].rdev = rdev; in tps6594_request_reg_irqs() 541 irq_type->irq_name, &irq_data[*irq_idx]); in tps6594_request_reg_irqs() 559 struct tps6594_regulator_irq_data *irq_data; in tps6594_regulator_probe() local [all …]
|
| /linux-6.15/include/linux/irqchip/ |
| H A D | chained_irq.h | 24 chip->irq_mask_ack(&desc->irq_data); in chained_irq_enter() 26 chip->irq_mask(&desc->irq_data); in chained_irq_enter() 28 chip->irq_ack(&desc->irq_data); in chained_irq_enter() 36 chip->irq_eoi(&desc->irq_data); in chained_irq_exit() 38 chip->irq_unmask(&desc->irq_data); in chained_irq_exit()
|
| /linux-6.15/drivers/gpio/ |
| H A D | gpio-zynq.c | 404 static void zynq_gpio_irq_mask(struct irq_data *irq_data) in zynq_gpio_irq_mask() argument 413 device_pin_num = irq_data->hwirq; in zynq_gpio_irq_mask() 428 static void zynq_gpio_irq_unmask(struct irq_data *irq_data) in zynq_gpio_irq_unmask() argument 437 device_pin_num = irq_data->hwirq; in zynq_gpio_irq_unmask() 451 static void zynq_gpio_irq_ack(struct irq_data *irq_data) in zynq_gpio_irq_ack() argument 457 device_pin_num = irq_data->hwirq; in zynq_gpio_irq_ack() 470 static void zynq_gpio_irq_enable(struct irq_data *irq_data) in zynq_gpio_irq_enable() argument 482 zynq_gpio_irq_ack(irq_data); in zynq_gpio_irq_enable() 483 zynq_gpio_irq_unmask(irq_data); in zynq_gpio_irq_enable() 501 static int zynq_gpio_set_irq_type(struct irq_data *irq_data, unsigned int type) in zynq_gpio_set_irq_type() argument [all …]
|
| /linux-6.15/arch/m68k/atari/ |
| H A D | ataints.c | 85 static unsigned int atari_irq_startup(struct irq_data *data) in atari_irq_startup() 95 static void atari_irq_shutdown(struct irq_data *data) in atari_irq_shutdown() 107 static void atari_irq_enable(struct irq_data *data) in atari_irq_enable() 112 static void atari_irq_disable(struct irq_data *data) in atari_irq_disable() 160 static void atari_mfptimer_enable(struct irq_data *data) in atari_mfptimer_enable() 167 static void atari_mfptimer_disable(struct irq_data *data) in atari_mfptimer_disable() 193 static unsigned int atari_ethernat_startup(struct irq_data *data) in atari_ethernat_startup() 215 static void atari_ethernat_enable(struct irq_data *data) in atari_ethernat_enable() 226 static void atari_ethernat_disable(struct irq_data *data) in atari_ethernat_disable() 237 static void atari_ethernat_shutdown(struct irq_data *data) in atari_ethernat_shutdown()
|
| /linux-6.15/arch/m68k/mac/ |
| H A D | macints.c | 131 static unsigned int mac_irq_startup(struct irq_data *); 132 static void mac_irq_shutdown(struct irq_data *); 188 void mac_irq_enable(struct irq_data *data) in mac_irq_enable() 218 void mac_irq_disable(struct irq_data *data) in mac_irq_disable() 248 static unsigned int mac_irq_startup(struct irq_data *data) in mac_irq_startup() 260 static void mac_irq_shutdown(struct irq_data *data) in mac_irq_shutdown()
|
| /linux-6.15/drivers/gpu/drm/amd/display/dc/link/protocols/ |
| H A D | link_dp_irq_handler.c | 314 static void read_dpcd204h_on_irq_hpd(struct dc_link *link, union hpd_irq_data *irq_data) in read_dpcd204h_on_irq_hpd() argument 326 irq_data->bytes.lane_status_updated.bits.EQ_INTERLANE_ALIGN_DONE_128b_132b = in read_dpcd204h_on_irq_hpd() 328 irq_data->bytes.lane_status_updated.bits.CDS_INTERLANE_ALIGN_DONE_128b_132b = in read_dpcd204h_on_irq_hpd() 335 union hpd_irq_data *irq_data) in dp_read_hpd_rx_irq_data() argument 351 irq_data->raw, in dp_read_hpd_rx_irq_data() 357 &irq_data->bytes.link_service_irq_esi0.raw, 1); in dp_read_hpd_rx_irq_data() 374 irq_data->bytes.sink_cnt.raw = tmp[DP_SINK_COUNT_ESI - DP_SINK_COUNT_ESI]; in dp_read_hpd_rx_irq_data() 376 irq_data->bytes.lane01_status.raw = tmp[DP_LANE0_1_STATUS_ESI - DP_SINK_COUNT_ESI]; in dp_read_hpd_rx_irq_data() 377 irq_data->bytes.lane23_status.raw = tmp[DP_LANE2_3_STATUS_ESI - DP_SINK_COUNT_ESI]; in dp_read_hpd_rx_irq_data() 379 irq_data->bytes.sink_status.raw = tmp[DP_SINK_STATUS_ESI - DP_SINK_COUNT_ESI]; in dp_read_hpd_rx_irq_data() [all …]
|