Changeset c2417bc in mainline for kernel/arch/ppc32/src/interrupt.c


Ignore:
Timestamp:
2009-04-21T12:46:26Z (15 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f2d2c7ba
Parents:
44b7783
Message:

change the way how input devices are wired together according to ticket #44
(also the proposal http://lists.modry.cz/cgi-bin/private/helenos-devel/2009-March/002507.html)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ppc32/src/interrupt.c

    r44b7783 rc2417bc  
    6161       
    6262        while ((inum = pic_get_pending()) != -1) {
    63                 bool ack = false;
    6463                irq_t *irq = irq_dispatch_and_lock(inum);
    6564                if (irq) {
     
    7069                        if (irq->preack) {
    7170                                /* Acknowledge the interrupt before processing */
    72                                 pic_ack_interrupt(inum);
    73                                 ack = true;
     71                                if (irq->cir)
     72                                        irq->cir(irq->cir_arg, irq->inr);
    7473                        }
    7574                       
    7675                        irq->handler(irq);
     76                       
     77                        if (!irq->preack) {
     78                                if (irq->cir)
     79                                        irq->cir(irq->cir_arg, irq->inr);
     80                        }
     81                       
    7782                        spinlock_unlock(&irq->lock);
    7883                } else {
     
    8489#endif
    8590                }
    86                
    87                 if (!ack)
    88                         pic_ack_interrupt(inum);
    8991        }
    9092}
Note: See TracChangeset for help on using the changeset viewer.