• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/kernel/irq/

Lines Matching defs:desc

27 	struct irq_desc *desc;
30 desc = irq_to_desc(irq);
31 if (!desc) {
37 raw_spin_lock_irqsave(&desc->lock, flags);
38 desc->status = IRQ_DISABLED;
39 desc->chip = &no_irq_chip;
40 desc->handle_irq = handle_bad_irq;
41 desc->depth = 1;
42 desc->msi_desc = NULL;
43 desc->handler_data = NULL;
45 desc->chip_data = NULL;
46 desc->action = NULL;
47 desc->irq_count = 0;
48 desc->irqs_unhandled = 0;
50 cpumask_setall(desc->affinity);
52 cpumask_clear(desc->pending_mask);
55 raw_spin_unlock_irqrestore(&desc->lock, flags);
80 struct irq_desc *desc = irq_to_desc(irq);
83 if (!desc) {
88 raw_spin_lock_irqsave(&desc->lock, flags);
89 if (desc->action) {
90 raw_spin_unlock_irqrestore(&desc->lock, flags);
95 desc->msi_desc = NULL;
96 desc->handler_data = NULL;
98 desc->chip_data = NULL;
99 desc->handle_irq = handle_bad_irq;
100 desc->chip = &no_irq_chip;
101 desc->name = NULL;
102 clear_kstat_irqs(desc);
103 raw_spin_unlock_irqrestore(&desc->lock, flags);
134 struct irq_desc *desc = irq_to_desc(irq);
137 if (!desc) {
145 raw_spin_lock_irqsave(&desc->lock, flags);
147 desc->chip = chip;
148 raw_spin_unlock_irqrestore(&desc->lock, flags);
161 struct irq_desc *desc = irq_to_desc(irq);
165 if (!desc) {
174 raw_spin_lock_irqsave(&desc->lock, flags);
175 ret = __irq_set_trigger(desc, irq, type);
176 raw_spin_unlock_irqrestore(&desc->lock, flags);
190 struct irq_desc *desc = irq_to_desc(irq);
193 if (!desc) {
199 raw_spin_lock_irqsave(&desc->lock, flags);
200 desc->handler_data = data;
201 raw_spin_unlock_irqrestore(&desc->lock, flags);
215 struct irq_desc *desc = irq_to_desc(irq);
218 if (!desc) {
224 raw_spin_lock_irqsave(&desc->lock, flags);
225 desc->msi_desc = entry;
228 raw_spin_unlock_irqrestore(&desc->lock, flags);
241 struct irq_desc *desc = irq_to_desc(irq);
244 if (!desc) {
250 if (!desc->chip) {
255 raw_spin_lock_irqsave(&desc->lock, flags);
256 desc->chip_data = data;
257 raw_spin_unlock_irqrestore(&desc->lock, flags);
276 struct irq_desc *desc = irq_to_desc(irq);
279 if (!desc)
282 raw_spin_lock_irqsave(&desc->lock, flags);
284 desc->status |= IRQ_NESTED_THREAD;
286 desc->status &= ~IRQ_NESTED_THREAD;
287 raw_spin_unlock_irqrestore(&desc->lock, flags);
296 struct irq_desc *desc = irq_to_desc(irq);
298 desc->chip->unmask(irq);
299 desc->status &= ~IRQ_MASKED;
314 struct irq_desc *desc = irq_to_desc(irq);
316 desc->chip->enable(irq);
325 struct irq_desc *desc = irq_to_desc(irq);
327 desc->chip->mask(irq);
328 desc->status |= IRQ_MASKED;
357 static inline void mask_ack_irq(struct irq_desc *desc, int irq)
359 if (desc->chip->mask_ack)
360 desc->chip->mask_ack(irq);
362 desc->chip->mask(irq);
363 if (desc->chip->ack)
364 desc->chip->ack(irq);
366 desc->status |= IRQ_MASKED;
369 static inline void mask_irq(struct irq_desc *desc, int irq)
371 if (desc->chip->mask) {
372 desc->chip->mask(irq);
373 desc->status |= IRQ_MASKED;
377 static inline void unmask_irq(struct irq_desc *desc, int irq)
379 if (desc->chip->unmask) {
380 desc->chip->unmask(irq);
381 desc->status &= ~IRQ_MASKED;
395 struct irq_desc *desc = irq_to_desc(irq);
401 raw_spin_lock_irq(&desc->lock);
403 kstat_incr_irqs_this_cpu(irq, desc);
405 action = desc->action;
406 if (unlikely(!action || (desc->status & IRQ_DISABLED)))
409 desc->status |= IRQ_INPROGRESS;
410 raw_spin_unlock_irq(&desc->lock);
414 note_interrupt(irq, desc, action_ret);
416 raw_spin_lock_irq(&desc->lock);
417 desc->status &= ~IRQ_INPROGRESS;
420 raw_spin_unlock_irq(&desc->lock);
427 * @desc: the interrupt description structure for this irq
437 handle_simple_irq(unsigned int irq, struct irq_desc *desc)
442 raw_spin_lock(&desc->lock);
444 if (unlikely(desc->status & IRQ_INPROGRESS))
446 desc->status &= ~(IRQ_REPLAY | IRQ_WAITING);
447 kstat_incr_irqs_this_cpu(irq, desc);
449 action = desc->action;
450 if (unlikely(!action || (desc->status & IRQ_DISABLED)))
453 desc->status |= IRQ_INPROGRESS;
454 raw_spin_unlock(&desc->lock);
458 note_interrupt(irq, desc, action_ret);
460 raw_spin_lock(&desc->lock);
461 desc->status &= ~IRQ_INPROGRESS;
463 raw_spin_unlock(&desc->lock);
469 * @desc: the interrupt description structure for this irq
477 handle_level_irq(unsigned int irq, struct irq_desc *desc)
482 raw_spin_lock(&desc->lock);
483 mask_ack_irq(desc, irq);
485 if (unlikely(desc->status & IRQ_INPROGRESS))
487 desc->status &= ~(IRQ_REPLAY | IRQ_WAITING);
488 kstat_incr_irqs_this_cpu(irq, desc);
494 action = desc->action;
495 if (unlikely(!action || (desc->status & IRQ_DISABLED)))
498 desc->status |= IRQ_INPROGRESS;
499 raw_spin_unlock(&desc->lock);
503 note_interrupt(irq, desc, action_ret);
505 raw_spin_lock(&desc->lock);
506 desc->status &= ~IRQ_INPROGRESS;
508 if (!(desc->status & (IRQ_DISABLED | IRQ_ONESHOT)))
509 unmask_irq(desc, irq);
511 raw_spin_unlock(&desc->lock);
518 * @desc: the interrupt description structure for this irq
526 handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc)
531 raw_spin_lock(&desc->lock);
533 if (unlikely(desc->status & IRQ_INPROGRESS))
536 desc->status &= ~(IRQ_REPLAY | IRQ_WAITING);
537 kstat_incr_irqs_this_cpu(irq, desc);
543 action = desc->action;
544 if (unlikely(!action || (desc->status & IRQ_DISABLED))) {
545 desc->status |= IRQ_PENDING;
546 mask_irq(desc, irq);
550 desc->status |= IRQ_INPROGRESS;
551 desc->status &= ~IRQ_PENDING;
552 raw_spin_unlock(&desc->lock);
556 note_interrupt(irq, desc, action_ret);
558 raw_spin_lock(&desc->lock);
559 desc->status &= ~IRQ_INPROGRESS;
561 desc->chip->eoi(irq);
563 raw_spin_unlock(&desc->lock);
569 * @desc: the interrupt description structure for this irq
583 handle_edge_irq(unsigned int irq, struct irq_desc *desc)
585 raw_spin_lock(&desc->lock);
587 desc->status &= ~(IRQ_REPLAY | IRQ_WAITING);
594 if (unlikely((desc->status & (IRQ_INPROGRESS | IRQ_DISABLED)) ||
595 !desc->action)) {
596 desc->status |= (IRQ_PENDING | IRQ_MASKED);
597 mask_ack_irq(desc, irq);
600 kstat_incr_irqs_this_cpu(irq, desc);
603 if (desc->chip->ack)
604 desc->chip->ack(irq);
607 desc->status |= IRQ_INPROGRESS;
610 struct irqaction *action = desc->action;
614 mask_irq(desc, irq);
623 if (unlikely((desc->status &
626 unmask_irq(desc, irq);
629 desc->status &= ~IRQ_PENDING;
630 raw_spin_unlock(&desc->lock);
633 note_interrupt(irq, desc, action_ret);
634 raw_spin_lock(&desc->lock);
636 } while ((desc->status & (IRQ_PENDING | IRQ_DISABLED)) == IRQ_PENDING);
638 desc->status &= ~IRQ_INPROGRESS;
640 raw_spin_unlock(&desc->lock);
646 * @desc: the interrupt description structure for this irq
651 handle_percpu_irq(unsigned int irq, struct irq_desc *desc)
655 kstat_incr_irqs_this_cpu(irq, desc);
657 if (desc->chip->ack)
658 desc->chip->ack(irq);
660 action_ret = handle_IRQ_event(irq, desc->action);
662 note_interrupt(irq, desc, action_ret);
664 if (desc->chip->eoi)
665 desc->chip->eoi(irq);
672 struct irq_desc *desc = irq_to_desc(irq);
675 if (!desc) {
683 else if (desc->chip == &no_irq_chip) {
693 desc->chip = &dummy_irq_chip;
696 chip_bus_lock(irq, desc);
697 raw_spin_lock_irqsave(&desc->lock, flags);
701 if (desc->chip != &no_irq_chip)
702 mask_ack_irq(desc, irq);
703 desc->status |= IRQ_DISABLED;
704 desc->depth = 1;
706 desc->handle_irq = handle;
707 desc->name = name;
710 desc->status &= ~IRQ_DISABLED;
711 desc->status |= IRQ_NOREQUEST | IRQ_NOPROBE;
712 desc->depth = 0;
713 desc->chip->startup(irq);
715 raw_spin_unlock_irqrestore(&desc->lock, flags);
716 chip_bus_sync_unlock(irq, desc);
738 struct irq_desc *desc = irq_to_desc(irq);
741 if (!desc) {
746 raw_spin_lock_irqsave(&desc->lock, flags);
747 desc->status |= IRQ_NOPROBE;
748 raw_spin_unlock_irqrestore(&desc->lock, flags);
753 struct irq_desc *desc = irq_to_desc(irq);
756 if (!desc) {
761 raw_spin_lock_irqsave(&desc->lock, flags);
762 desc->status &= ~IRQ_NOPROBE;
763 raw_spin_unlock_irqrestore(&desc->lock, flags);