| /Linux-v5.15/include/linux/ | 
| D | irq.h | 177 struct irq_data {  struct 185 	struct irq_data		*parent_data;  argument 254 static inline bool irqd_is_setaffinity_pending(struct irq_data *d)  in irqd_is_setaffinity_pending() 259 static inline bool irqd_is_per_cpu(struct irq_data *d)  in irqd_is_per_cpu() 264 static inline bool irqd_can_balance(struct irq_data *d)  in irqd_can_balance() 269 static inline bool irqd_affinity_was_set(struct irq_data *d)  in irqd_affinity_was_set() 274 static inline void irqd_mark_affinity_was_set(struct irq_data *d)  in irqd_mark_affinity_was_set() 279 static inline bool irqd_trigger_type_was_set(struct irq_data *d)  in irqd_trigger_type_was_set() 284 static inline u32 irqd_get_trigger_type(struct irq_data *d)  in irqd_get_trigger_type() 293 static inline void irqd_set_trigger_type(struct irq_data *d, u32 type)  in irqd_set_trigger_type() [all …] 
 | 
| D | irqdesc.h | 57 	struct irq_data		irq_data;  member 122 static inline struct irq_desc *irq_data_to_desc(struct irq_data *data)  in irq_data_to_desc() 129 	return desc->irq_data.irq;  in irq_desc_get_irq() 132 static inline struct irq_data *irq_desc_get_irq_data(struct irq_desc *desc)  in irq_desc_get_irq_data() 134 	return &desc->irq_data;  in irq_desc_get_irq_data() 139 	return desc->irq_data.chip;  in irq_desc_get_chip() 144 	return desc->irq_data.chip_data;  in irq_desc_get_chip_data() 197 static inline void irq_set_handler_locked(struct irq_data *data,  in irq_set_handler_locked() 218 irq_set_chip_handler_name_locked(struct irq_data *data, struct irq_chip *chip,  in irq_set_chip_handler_name_locked()
  | 
| /Linux-v5.15/kernel/irq/ | 
| D | chip.c | 52 	desc->irq_data.chip = chip;  in irq_set_chip() 152 	desc->irq_data.chip_data = data;  in irq_set_chip_data() 158 struct irq_data *irq_get_irq_data(unsigned int irq)  in irq_get_irq_data() 162 	return desc ? &desc->irq_data : NULL;  in irq_get_irq_data() 168 	irqd_clear(&desc->irq_data, IRQD_IRQ_DISABLED);  in irq_state_clr_disabled() 173 	irqd_clear(&desc->irq_data, IRQD_IRQ_MASKED);  in irq_state_clr_masked() 178 	irqd_clear(&desc->irq_data, IRQD_IRQ_STARTED);  in irq_state_clr_started() 183 	irqd_set(&desc->irq_data, IRQD_IRQ_STARTED);  in irq_state_set_started() 196 	struct irq_data *d = irq_desc_get_irq_data(desc);  in __irq_startup_managed() 238 	struct irq_data *d = irq_desc_get_irq_data(desc);  in __irq_startup() [all …] 
 | 
| D | irqdomain.c | 518 				   struct irq_data *irq_data)  in irq_domain_set_mapping()  argument 525 		rcu_assign_pointer(domain->revmap[hwirq], irq_data);  in irq_domain_set_mapping() 527 		radix_tree_insert(&domain->revmap_tree, hwirq, irq_data);  in irq_domain_set_mapping() 533 	struct irq_data *irq_data = irq_get_irq_data(irq);  in irq_domain_disassociate()  local 536 	if (WARN(!irq_data || irq_data->domain != domain,  in irq_domain_disassociate() 540 	hwirq = irq_data->hwirq;  in irq_domain_disassociate() 554 	irq_data->domain = NULL;  in irq_domain_disassociate() 555 	irq_data->hwirq = 0;  in irq_domain_disassociate() 565 	struct irq_data *irq_data = irq_get_irq_data(virq);  in irq_domain_associate()  local 571 	if (WARN(!irq_data, "error: virq%i is not allocated", virq))  in irq_domain_associate() [all …] 
 | 
| D | internals.h | 100 extern int __irq_get_irqchip_state(struct irq_data *data, 133 extern int irq_do_set_affinity(struct irq_data *data, 145 	if (unlikely(desc->irq_data.chip->irq_bus_lock))  in chip_bus_lock() 146 		desc->irq_data.chip->irq_bus_lock(&desc->irq_data);  in chip_bus_lock() 151 	if (unlikely(desc->irq_data.chip->irq_bus_sync_unlock))  in chip_bus_sync_unlock() 152 		desc->irq_data.chip->irq_bus_sync_unlock(&desc->irq_data);  in chip_bus_sync_unlock() 195 static inline unsigned int irqd_get(struct irq_data *d)  in irqd_get() 203 static inline void irqd_set_move_pending(struct irq_data *d)  in irqd_set_move_pending() 208 static inline void irqd_clr_move_pending(struct irq_data *d)  in irqd_clr_move_pending() 213 static inline void irqd_set_managed_shutdown(struct irq_data *d)  in irqd_set_managed_shutdown() [all …] 
 | 
| D | manage.c | 40 	struct irq_data *irqd = irq_desc_get_irq_data(desc);  in __synchronize_hardirq() 50 		while (irqd_irq_inprogress(&desc->irq_data))  in __synchronize_hardirq() 55 		inprogress = irqd_irq_inprogress(&desc->irq_data);  in __synchronize_hardirq() 148 	if (!desc || !irqd_can_balance(&desc->irq_data) ||  in __irq_can_set_affinity() 149 	    !desc->irq_data.chip || !desc->irq_data.chip->irq_set_affinity)  in __irq_can_set_affinity() 176 		!irqd_affinity_is_managed(&desc->irq_data);  in irq_can_set_affinity_usr() 198 static void irq_validate_effective_affinity(struct irq_data *data)  in irq_validate_effective_affinity() 209 static inline void irq_init_effective_affinity(struct irq_data *data,  in irq_init_effective_affinity() 215 static inline void irq_validate_effective_affinity(struct irq_data *data) { }  in irq_validate_effective_affinity() 216 static inline void irq_init_effective_affinity(struct irq_data *data,  in irq_init_effective_affinity() [all …] 
 | 
| D | msi.c | 209 static inline void irq_chip_write_msi_msg(struct irq_data *data,  in irq_chip_write_msi_msg() 239 int msi_domain_set_affinity(struct irq_data *irq_data,  in msi_domain_set_affinity()  argument 242 	struct irq_data *parent = irq_data->parent_data;  in msi_domain_set_affinity() 248 		BUG_ON(irq_chip_compose_msi_msg(irq_data, msg));  in msi_domain_set_affinity() 249 		msi_check_level(irq_data->domain, msg);  in msi_domain_set_affinity() 250 		irq_chip_write_msi_msg(irq_data, msg);  in msi_domain_set_affinity() 257 			       struct irq_data *irq_data, bool early)  in msi_domain_activate()  argument 261 	BUG_ON(irq_chip_compose_msi_msg(irq_data, msg));  in msi_domain_activate() 262 	msi_check_level(irq_data->domain, msg);  in msi_domain_activate() 263 	irq_chip_write_msi_msg(irq_data, msg);  in msi_domain_activate() [all …] 
 | 
| /Linux-v5.15/drivers/iommu/ | 
| D | hyperv-iommu.c | 39 static int hyperv_ir_set_affinity(struct irq_data *data,  in hyperv_ir_set_affinity() 42 	struct irq_data *parent = data->parent_data;  in hyperv_ir_set_affinity() 70 	struct irq_data *irq_data;  in hyperv_irq_remapping_alloc()  local 81 	irq_data = irq_domain_get_irq_data(domain, virq);  in hyperv_irq_remapping_alloc() 82 	if (!irq_data) {  in hyperv_irq_remapping_alloc() 87 	irq_data->chip = &hyperv_ir_chip;  in hyperv_irq_remapping_alloc() 93 	desc = irq_data_to_desc(irq_data);  in hyperv_irq_remapping_alloc() 191 hyperv_root_ir_compose_msi_msg(struct irq_data *irq_data, struct msi_msg *msg)  in hyperv_root_ir_compose_msi_msg()  argument 200 	struct hyperv_root_ir_data *data = irq_data->chip_data;  in hyperv_root_ir_compose_msi_msg() 203 	cfg = irqd_cfg(irq_data);  in hyperv_root_ir_compose_msi_msg() [all …] 
 | 
| /Linux-v5.15/arch/x86/platform/uv/ | 
| 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 …] 
 | 
| /Linux-v5.15/Documentation/translations/zh_CN/core-api/ | 
| D | genericirq.rst | 107 这个高层IRQ处理函数只使用由分配的芯片描述符结构体引用的desc->irq_data.chip 176     default_enable(struct irq_data *data) 178         desc->irq_data.chip->irq_unmask(data); 181     default_disable(struct irq_data *data) 184             desc->irq_data.chip->irq_mask(data); 187     default_ack(struct irq_data *data) 192     default_mask_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(); [all …] 
 | 
| /Linux-v5.15/arch/sparc/kernel/ | 
| D | prom_irqtrans.c | 117 	struct sabre_irq_data *irq_data = _arg2;  in sabre_wsync_handler()  local 118 	unsigned long controller_regs = irq_data->controller_regs;  in sabre_wsync_handler() 225 	struct sabre_irq_data *irq_data = _data;  in sabre_irq_build()  local 226 	unsigned long controller_regs = irq_data->controller_regs;  in sabre_irq_build() 263 					(void *) irq_data);  in sabre_irq_build() 272 	struct sabre_irq_data *irq_data;  in sabre_irq_trans_init()  local 278 	irq_data = prom_early_alloc(sizeof(struct sabre_irq_data));  in sabre_irq_trans_init() 281 	irq_data->controller_regs = regs[0].phys_addr;  in sabre_irq_trans_init() 284 	irq_data->pci_first_busno = busrange[0];  in sabre_irq_trans_init() 286 	dp->irq_trans->data = irq_data;  in sabre_irq_trans_init() [all …] 
 | 
| /Linux-v5.15/drivers/mfd/ | 
| 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 148 	struct rc5t583 *rc5t583 = irq_data_get_irq_chip_data(irq_data);  in rc5t583_irq_unmask() 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 159 	struct rc5t583 *rc5t583 = irq_data_get_irq_chip_data(irq_data);  in rc5t583_irq_mask() 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 172 	struct rc5t583 *rc5t583 = irq_data_get_irq_chip_data(irq_data);  in rc5t583_irq_set_type() [all …] 
 | 
| D | max8925-core.c | 481 	struct max8925_irq_data *irq_data;  in max8925_irq()  local 487 		irq_data = &max8925_irqs[i];  in max8925_irq() 489 		if (irq_data->tsc_irq)  in max8925_irq() 491 		if (irq_data->flags == FLAGS_RTC)  in max8925_irq() 493 		else if (irq_data->flags == FLAGS_ADC)  in max8925_irq() 497 		if (read_reg != irq_data->reg) {  in max8925_irq() 498 			read_reg = irq_data->reg;  in max8925_irq() 499 			value = max8925_reg_read(i2c, irq_data->reg);  in max8925_irq() 501 		if (value & irq_data->enable)  in max8925_irq() 510 	struct max8925_irq_data *irq_data;  in max8925_tsc_irq()  local [all …] 
 | 
| 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()
  | 
| D | mt6358-irq.c | 56 static void pmic_irq_enable(struct irq_data *data)  in pmic_irq_enable() 60 	struct pmic_irq_data *irqd = chip->irq_data;  in pmic_irq_enable() 65 static void pmic_irq_disable(struct irq_data *data)  in pmic_irq_disable() 69 	struct pmic_irq_data *irqd = chip->irq_data;  in pmic_irq_disable() 74 static void pmic_irq_lock(struct irq_data *data)  in pmic_irq_lock() 81 static void pmic_irq_sync_unlock(struct irq_data *data)  in pmic_irq_sync_unlock() 85 	struct pmic_irq_data *irqd = chip->irq_data;  in pmic_irq_sync_unlock() 127 	struct pmic_irq_data *irqd = chip->irq_data;  in mt6358_irq_sp_handler() 164 	struct pmic_irq_data *irqd = chip->irq_data;  in mt6358_irq_handler() 215 		chip->irq_data = &mt6358_irqd;  in mt6358_irq_init() [all …] 
 | 
| /Linux-v5.15/arch/arm/mach-s3c/ | 
| D | bast-irq.c | 53 bast_pc104_mask(struct irq_data *data)  in bast_pc104_mask() 63 bast_pc104_maskack(struct irq_data *data)  in bast_pc104_maskack() 68 	desc->irq_data.chip->irq_ack(&desc->irq_data);  in bast_pc104_maskack() 72 bast_pc104_unmask(struct irq_data *data)  in bast_pc104_unmask() 97 		desc->irq_data.chip->irq_ack(&desc->irq_data);  in bast_irq_pc104_demux()
  | 
| D | irq-s3c24xx.c | 80 static void s3c_irq_mask(struct irq_data *data)  in s3c_irq_mask() 82 	struct s3c_irq_data *irq_data = irq_data_get_irq_chip_data(data);  in s3c_irq_mask()  local 83 	struct s3c_irq_intc *intc = irq_data->intc;  in s3c_irq_mask() 90 	mask |= (1UL << irq_data->offset);  in s3c_irq_mask() 94 		parent_data = &parent_intc->irqs[irq_data->parent_irq];  in s3c_irq_mask() 102 					 irq_data->parent_irq);  in s3c_irq_mask() 108 static void s3c_irq_unmask(struct irq_data *data)  in s3c_irq_unmask() 110 	struct s3c_irq_data *irq_data = irq_data_get_irq_chip_data(data);  in s3c_irq_unmask()  local 111 	struct s3c_irq_intc *intc = irq_data->intc;  in s3c_irq_unmask() 117 	mask &= ~(1UL << irq_data->offset);  in s3c_irq_unmask() [all …] 
 | 
| /Linux-v5.15/drivers/irqchip/ | 
| D | irq-ativic32.c | 15 static void ativic32_ack_irq(struct irq_data *data)  in ativic32_ack_irq() 20 static void ativic32_mask_irq(struct irq_data *data)  in ativic32_mask_irq() 26 static void ativic32_unmask_irq(struct irq_data *data)  in ativic32_unmask_irq() 32 static int nointc_set_wake(struct irq_data *data, unsigned int on)  in nointc_set_wake() 77 	struct irq_data *irq_data;  in ativic32_irq_domain_map()  local 79 	irq_data = irq_get_irq_data(virq);  in ativic32_irq_domain_map() 80 	if (!irq_data)  in ativic32_irq_domain_map() 91 	irqd_set_trigger_type(irq_data, type);  in ativic32_irq_domain_map()
  | 
| 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() 83 static int partition_irq_set_type(struct irq_data *d, unsigned int type)  in partition_irq_set_type() 87 	struct irq_data *data = irq_desc_get_irq_data(part->chained_desc);  in partition_irq_set_type() [all …] 
 | 
| D | irq-xtensa-pic.c | 44 static void xtensa_irq_mask(struct irq_data *d)  in xtensa_irq_mask() 50 static void xtensa_irq_unmask(struct irq_data *d)  in xtensa_irq_unmask() 56 static void xtensa_irq_enable(struct irq_data *d)  in xtensa_irq_enable() 61 static void xtensa_irq_disable(struct irq_data *d)  in xtensa_irq_disable() 66 static void xtensa_irq_ack(struct irq_data *d)  in xtensa_irq_ack() 71 static int xtensa_irq_retrigger(struct irq_data *d)  in xtensa_irq_retrigger()
  | 
| /Linux-v5.15/drivers/staging/board/ | 
| 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()
  | 
| /Linux-v5.15/include/linux/irqchip/ | 
| 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-v5.15/arch/m68k/atari/ | 
| 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()
  | 
| /Linux-v5.15/arch/x86/kernel/apic/ | 
| D | io_apic.c | 443 static void mask_ioapic_irq(struct irq_data *irq_data)  in mask_ioapic_irq()  argument 445 	struct mp_chip_data *data = irq_data->chip_data;  in mask_ioapic_irq() 458 static void unmask_ioapic_irq(struct irq_data *irq_data)  in unmask_ioapic_irq()  argument 460 	struct mp_chip_data *data = irq_data->chip_data;  in unmask_ioapic_irq() 992 	struct irq_data *irq_data = irq_get_irq_data(irq);  in alloc_isa_irq_from_domain()  local 1000 	if (irq_data && irq_data->parent_data) {  in alloc_isa_irq_from_domain() 1003 		if (__add_pin_to_irq_node(irq_data->chip_data, node, ioapic,  in alloc_isa_irq_from_domain() 1011 			irq_data = irq_domain_get_irq_data(domain, irq);  in alloc_isa_irq_from_domain() 1012 			data = irq_data->chip_data;  in alloc_isa_irq_from_domain() 1124 	struct irq_data *irq_data = irq_get_irq_data(irq);  in mp_unmap_irq()  local [all …] 
 | 
| /Linux-v5.15/arch/m68k/mac/ | 
| D | macints.c | 134 static unsigned int mac_irq_startup(struct irq_data *); 135 static void mac_irq_shutdown(struct irq_data *); 176 void mac_irq_enable(struct irq_data *data)  in mac_irq_enable() 206 void mac_irq_disable(struct irq_data *data)  in mac_irq_disable() 236 static unsigned int mac_irq_startup(struct irq_data *data)  in mac_irq_startup() 248 static void mac_irq_shutdown(struct irq_data *data)  in mac_irq_shutdown()
  |