/openbmc/linux/include/linux/ |
H A D | irq.h | 179 struct irq_data { struct 187 struct irq_data *parent_data; argument 505 void (*irq_enable)(struct irq_data *data); 508 void (*irq_ack)(struct irq_data *data); 509 void (*irq_mask)(struct irq_data *data); 511 void (*irq_unmask)(struct irq_data *data); 512 void (*irq_eoi)(struct irq_data *data); 527 void (*irq_resume)(struct irq_data *data); 623 void __irq_move_irq(struct irq_data *data); 1121 void irq_gc_noop(struct irq_data *d); [all …]
|
H A D | irqdesc.h | 57 struct irq_data irq_data; member 125 static inline struct irq_desc *irq_data_to_desc(struct irq_data *data) in irq_data_to_desc() 132 return desc->irq_data.irq; in irq_desc_get_irq() 135 static inline struct irq_data *irq_desc_get_irq_data(struct irq_desc *desc) in irq_desc_get_irq_data() 137 return &desc->irq_data; in irq_desc_get_irq_data() 142 return desc->irq_data.chip; in irq_desc_get_chip() 147 return desc->irq_data.chip_data; in irq_desc_get_chip_data() 195 static inline void irq_set_handler_locked(struct irq_data *data, in irq_set_handler_locked() 216 irq_set_chip_handler_name_locked(struct irq_data *data, in irq_set_chip_handler_name_locked()
|
/openbmc/linux/kernel/irq/ |
H A D | chip.c | 342 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() 991 struct irq_data *irq_data = &desc->irq_data; in __irq_do_set_handler() local 1011 irq_data = irq_data->parent_data; in __irq_do_set_handler() [all …]
|
H A D | irqdomain.c | 524 struct irq_data *irq_data) in irq_domain_set_mapping() argument 794 struct irq_data *irq_data; in irq_create_fwspec_mapping() local 1195 struct irq_data *irq_data; in irq_domain_insert_irq_data() local 1215 irq_data = irq_data->parent_data; in __irq_domain_free_hierarchy() 1222 struct irq_data *irq_data, *tmp; in irq_domain_free_irq_data() local 1314 struct irq_data *irq_data; in irq_domain_alloc_irq_data() local 1343 struct irq_data *irq_data; in irq_domain_get_irq_data() local 1346 irq_data = irq_data->parent_data) in irq_domain_get_irq_data() 1411 struct irq_data *irq_data; in irq_domain_free_irqs_common() local 1795 if (irq_data && irq_data->domain) { in __irq_domain_deactivate_irq() [all …]
|
H A D | internals.h | 107 extern int __irq_get_irqchip_state(struct irq_data *data, 142 extern int irq_do_set_affinity(struct irq_data *data, 154 if (unlikely(desc->irq_data.chip->irq_bus_lock)) in chip_bus_lock() 155 desc->irq_data.chip->irq_bus_lock(&desc->irq_data); in chip_bus_lock() 160 if (unlikely(desc->irq_data.chip->irq_bus_sync_unlock)) in chip_bus_sync_unlock() 161 desc->irq_data.chip->irq_bus_sync_unlock(&desc->irq_data); in chip_bus_sync_unlock() 204 static inline unsigned int irqd_get(struct irq_data *d) in irqd_get() 249 irqd_set(&desc->irq_data, IRQD_IRQ_DISABLED); in irq_state_set_disabled() 254 irqd_set(&desc->irq_data, IRQD_IRQ_MASKED); in irq_state_set_masked() 419 static inline bool irq_move_pending(struct irq_data *data) in irq_move_pending() [all …]
|
H A D | manage.c | 151 !desc->irq_data.chip || !desc->irq_data.chip->irq_set_affinity) in __irq_can_set_affinity() 659 struct irq_data *data; in irq_set_vcpu_affinity() 830 if (WARN(!desc->irq_data.chip, in enable_irq() 863 ret = desc->irq_data.chip->irq_set_wake(&desc->irq_data, on); in set_irq_wake_real() 985 irqd_set(&desc->irq_data, flags); in __irq_set_trigger() 1407 struct irq_data *d = &desc->irq_data; in irq_request_resources() 1415 struct irq_data *d = &desc->irq_data; in irq_release_resources() 1999 irq_chip_pm_put(&desc->irq_data); in __free_irq() 2067 irq_chip_pm_put(&desc->irq_data); in __cleanup_nmi() 2833 struct irq_data *data; in irq_get_irqchip_state() [all …]
|
/openbmc/linux/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 …]
|
/openbmc/linux/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() 112 struct irq_data *irq_data = irq_domain_get_irq_data(domain, virq); in uv_domain_free() local 115 kfree(irq_data->chip_data); in uv_domain_free() 126 struct irq_data *irq_data, bool reserve) in uv_domain_activate() argument 128 uv_program_mmr(irqd_cfg(irq_data), irq_data->chip_data); in uv_domain_activate() 137 struct irq_data *irq_data) in uv_domain_deactivate() argument [all …]
|
/openbmc/linux/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 …]
|
/openbmc/linux/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 …]
|
/openbmc/linux/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 | 88 const struct regmap_irq *irq_data, int idx, in pm8008_set_type_config() argument 94 buf[POLARITY_HI_INDEX][idx] &= ~irq_data->mask; in pm8008_set_type_config() 95 buf[POLARITY_LO_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config() 100 buf[POLARITY_HI_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config() 101 buf[POLARITY_LO_INDEX][idx] &= ~irq_data->mask; in pm8008_set_type_config() 105 buf[POLARITY_HI_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config() 106 buf[POLARITY_LO_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config() 114 buf[SET_TYPE_INDEX][idx] |= irq_data->mask; in pm8008_set_type_config() 116 buf[SET_TYPE_INDEX][idx] &= ~irq_data->mask; in pm8008_set_type_config() 152 struct regmap_irq_chip_data *irq_data; in pm8008_probe_irq_peripherals() 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()
|
/openbmc/linux/drivers/staging/board/ |
H A D | board.c | 76 struct of_phandle_args irq_data; in gic_fixup_resource() local 83 irq_data.np = irqc_node; in gic_fixup_resource() 84 irq_data.args_count = 3; in gic_fixup_resource() 85 irq_data.args[0] = 0; in gic_fixup_resource() 86 irq_data.args[1] = hwirq - irqc_base; in gic_fixup_resource() 91 irq_data.args[2] = IRQ_TYPE_EDGE_FALLING; in gic_fixup_resource() 94 irq_data.args[2] = IRQ_TYPE_EDGE_RISING; in gic_fixup_resource() 97 irq_data.args[2] = IRQ_TYPE_LEVEL_LOW; in gic_fixup_resource() 101 irq_data.args[2] = IRQ_TYPE_LEVEL_HIGH; in gic_fixup_resource() 105 virq = irq_create_of_mapping(&irq_data); in gic_fixup_resource()
|
/openbmc/linux/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 …]
|
H A D | irq-xtensa-pic.c | 45 static void xtensa_irq_mask(struct irq_data *d) in xtensa_irq_mask() 51 static void xtensa_irq_unmask(struct irq_data *d) in xtensa_irq_unmask() 57 static void xtensa_irq_enable(struct irq_data *d) in xtensa_irq_enable() 62 static void xtensa_irq_disable(struct irq_data *d) in xtensa_irq_disable() 67 static void xtensa_irq_ack(struct irq_data *d) in xtensa_irq_ack() 72 static int xtensa_irq_retrigger(struct irq_data *d) in xtensa_irq_retrigger()
|
/openbmc/linux/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()
|
/openbmc/linux/drivers/regulator/ |
H A D | tps6594-regulator.c | 353 if (irq_data->type->event_name[0] == '\0') { in tps6594_regulator_irq_handler() 355 dev_err(irq_data->dev, in tps6594_regulator_irq_handler() 361 irq_data->type->event_name, irq_data->type->regulator_name); in tps6594_regulator_irq_handler() 363 regulator_notifier_call_chain(irq_data->rdev, in tps6594_regulator_irq_handler() 364 irq_data->type->event, NULL); in tps6594_regulator_irq_handler() 387 irq_data[*irq_idx].dev = tps->dev; in tps6594_request_reg_irqs() 388 irq_data[*irq_idx].type = irq_type; in tps6594_request_reg_irqs() 389 irq_data[*irq_idx].rdev = rdev; in tps6594_request_reg_irqs() 393 irq_type->irq_name, &irq_data[*irq_idx]); in tps6594_request_reg_irqs() 411 struct tps6594_regulator_irq_data *irq_data; in tps6594_regulator_probe() local [all …]
|
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() 334 irq_data = devm_kmalloc(tps->dev, in tps65219_regulator_probe() 338 if (!irq_data) in tps65219_regulator_probe() 348 irq_data[i].dev = tps->dev; in tps65219_regulator_probe() 349 irq_data[i].type = irq_type; in tps65219_regulator_probe() 357 irq_data[i].rdev = rdev; in tps65219_regulator_probe() [all …]
|
/openbmc/linux/arch/m68k/atari/ |
H A D | ataints.c | 86 static unsigned int atari_irq_startup(struct irq_data *data) in atari_irq_startup() 96 static void atari_irq_shutdown(struct irq_data *data) in atari_irq_shutdown() 108 static void atari_irq_enable(struct irq_data *data) in atari_irq_enable() 113 static void atari_irq_disable(struct irq_data *data) in atari_irq_disable() 161 static void atari_mfptimer_enable(struct irq_data *data) in atari_mfptimer_enable() 168 static void atari_mfptimer_disable(struct irq_data *data) in atari_mfptimer_disable() 194 static unsigned int atari_ethernat_startup(struct irq_data *data) in atari_ethernat_startup() 216 static void atari_ethernat_enable(struct irq_data *data) in atari_ethernat_enable() 227 static void atari_ethernat_disable(struct irq_data *data) in atari_ethernat_disable() 238 static void atari_ethernat_shutdown(struct irq_data *data) in atari_ethernat_shutdown()
|
/openbmc/linux/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 …]
|
/openbmc/linux/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()
|
/openbmc/linux/arch/x86/include/asm/ |
H A D | irqdomain.h | 26 struct irq_data; 48 struct irq_data *irq_data, bool reserve); 50 struct irq_data *irq_data);
|