Lines Matching refs:irq_data
46 scoped_irqdesc->irq_data.chip = (struct irq_chip *)(chip ?: &no_irq_chip);
127 scoped_irqdesc->irq_data.chip_data = data;
134 struct irq_data *irq_get_irq_data(unsigned int irq)
138 return desc ? &desc->irq_data : NULL;
144 irqd_clear(&desc->irq_data, IRQD_IRQ_DISABLED);
149 irqd_clear(&desc->irq_data, IRQD_IRQ_MASKED);
154 irqd_clear(&desc->irq_data, IRQD_IRQ_STARTED);
159 irqd_set(&desc->irq_data, IRQD_IRQ_STARTED);
173 struct irq_data *d = irq_desc_get_irq_data(desc);
208 struct irq_data *d = irq_desc_get_irq_data(desc);
237 if (!irqd_irq_disabled(&desc->irq_data)) {
241 if (desc->irq_data.chip->irq_enable) {
242 desc->irq_data.chip->irq_enable(&desc->irq_data);
252 struct irq_data *d = irq_desc_get_irq_data(desc);
271 struct irq_data *d = irq_desc_get_irq_data(desc);
306 struct irq_data *d = irq_desc_get_irq_data(desc);
324 if (irqd_is_started(&desc->irq_data)) {
333 if (desc->irq_data.chip->irq_shutdown) {
334 desc->irq_data.chip->irq_shutdown(&desc->irq_data);
354 irq_domain_deactivate_irq(&desc->irq_data);
359 if (irqd_irq_disabled(&desc->irq_data)) {
364 if (desc->irq_data.chip->irq_disable) {
365 desc->irq_data.chip->irq_disable(&desc->irq_data);
400 if (desc->irq_data.chip->irq_enable)
401 desc->irq_data.chip->irq_enable(&desc->irq_data);
403 desc->irq_data.chip->irq_unmask(&desc->irq_data);
409 if (desc->irq_data.chip->irq_disable)
410 desc->irq_data.chip->irq_disable(&desc->irq_data);
412 desc->irq_data.chip->irq_mask(&desc->irq_data);
418 if (desc->irq_data.chip->irq_mask_ack) {
419 desc->irq_data.chip->irq_mask_ack(&desc->irq_data);
423 if (desc->irq_data.chip->irq_ack)
424 desc->irq_data.chip->irq_ack(&desc->irq_data);
430 if (irqd_irq_masked(&desc->irq_data))
433 if (desc->irq_data.chip->irq_mask) {
434 desc->irq_data.chip->irq_mask(&desc->irq_data);
441 if (!irqd_irq_masked(&desc->irq_data))
444 if (desc->irq_data.chip->irq_unmask) {
445 desc->irq_data.chip->irq_unmask(&desc->irq_data);
452 struct irq_chip *chip = desc->irq_data.chip;
455 chip->irq_eoi(&desc->irq_data);
466 while (irqd_irq_inprogress(&desc->irq_data))
469 } while (irqd_irq_inprogress(&desc->irq_data));
472 return !irqd_irq_disabled(&desc->irq_data) && desc->action;
479 struct irq_data *irqd = &desc->irq_data;
503 smp_processor_id(), desc->irq_data.irq))
548 if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) {
615 if (irqd_needs_resend_when_in_progress(&desc->irq_data))
648 irqd_set(&desc->irq_data, IRQD_IRQ_INPROGRESS);
654 irqd_clear(&desc->irq_data, IRQD_IRQ_INPROGRESS);
671 if (!irqd_irq_disabled(&desc->irq_data) &&
672 irqd_irq_masked(&desc->irq_data) && !desc->threads_oneshot)
703 chip->irq_eoi(&desc->irq_data);
712 if (!irqd_irq_disabled(&desc->irq_data) &&
713 irqd_irq_masked(&desc->irq_data) && !desc->threads_oneshot) {
714 chip->irq_eoi(&desc->irq_data);
717 chip->irq_eoi(&desc->irq_data);
721 static inline void cond_eoi_irq(struct irq_chip *chip, struct irq_data *data)
738 struct irq_chip *chip = desc->irq_data.chip;
748 if (irqd_needs_resend_when_in_progress(&desc->irq_data))
750 cond_eoi_irq(chip, &desc->irq_data);
756 cond_eoi_irq(chip, &desc->irq_data);
805 chip->irq_eoi(&desc->irq_data);
836 desc->irq_data.chip->irq_ack(&desc->irq_data);
850 if (!irqd_irq_disabled(&desc->irq_data) &&
851 irqd_irq_masked(&desc->irq_data))
857 } while ((desc->istate & IRQS_PENDING) && !irqd_irq_disabled(&desc->irq_data));
878 chip->irq_ack(&desc->irq_data);
883 chip->irq_eoi(&desc->irq_data);
911 chip->irq_ack(&desc->irq_data);
929 chip->irq_eoi(&desc->irq_data);
954 chip->irq_eoi(&desc->irq_data);
964 struct irq_data *irq_data = &desc->irq_data;
973 while (irq_data) {
974 if (irq_data->chip != &no_irq_chip)
984 irq_data = irq_data->parent_data;
987 if (WARN_ON(!irq_data || irq_data->chip == &no_irq_chip))
993 if (desc->irq_data.chip != &no_irq_chip)
1006 unsigned int type = irqd_get_trigger_type(&desc->irq_data);
1072 trigger = irqd_get_trigger_type(&desc->irq_data);
1074 irqd_clear(&desc->irq_data, IRQD_NO_BALANCING | IRQD_PER_CPU |
1077 irqd_set(&desc->irq_data, IRQD_NO_BALANCING);
1079 irqd_set(&desc->irq_data, IRQD_PER_CPU);
1081 irqd_set(&desc->irq_data, IRQD_LEVEL);
1087 irqd_set(&desc->irq_data, trigger);
1111 chip = irq_data_get_irq_chip(&desc->irq_data);
1114 !irqd_irq_disabled(&desc->irq_data)))
1115 chip->irq_cpu_online(&desc->irq_data);
1137 chip = irq_data_get_irq_chip(&desc->irq_data);
1140 !irqd_irq_disabled(&desc->irq_data)))
1141 chip->irq_cpu_offline(&desc->irq_data);
1160 struct irq_chip *chip = desc->irq_data.chip;
1165 cond_eoi_irq(chip, &desc->irq_data);
1171 cond_eoi_irq(chip, &desc->irq_data);
1179 desc->irq_data.chip->irq_ack(&desc->irq_data);
1198 struct irq_chip *chip = desc->irq_data.chip;
1204 cond_eoi_irq(chip, &desc->irq_data);
1227 int irq_chip_set_parent_state(struct irq_data *data,
1249 int irq_chip_get_parent_state(struct irq_data *data,
1267 void irq_chip_enable_parent(struct irq_data *data)
1282 void irq_chip_disable_parent(struct irq_data *data)
1296 void irq_chip_ack_parent(struct irq_data *data)
1307 void irq_chip_mask_parent(struct irq_data *data)
1318 void irq_chip_mask_ack_parent(struct irq_data *data)
1329 void irq_chip_unmask_parent(struct irq_data *data)
1340 void irq_chip_eoi_parent(struct irq_data *data)
1355 int irq_chip_set_affinity_parent(struct irq_data *data,
1373 int irq_chip_set_type_parent(struct irq_data *data, unsigned int type)
1391 int irq_chip_retrigger_hierarchy(struct irq_data *data)
1406 int irq_chip_set_vcpu_affinity_parent(struct irq_data *data, void *vcpu_info)
1422 int irq_chip_set_wake_parent(struct irq_data *data, unsigned int on)
1440 int irq_chip_request_resources_parent(struct irq_data *data)
1456 void irq_chip_release_resources_parent(struct irq_data *data)
1474 int irq_chip_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
1476 struct irq_data *pos;
1490 static struct device *irq_get_pm_device(struct irq_data *data)
1505 int irq_chip_pm_get(struct irq_data *data)
1524 int irq_chip_pm_put(struct irq_data *data)