Ignore:
Timestamp:
Sep 26, 2008, 10:09:48 PM (17 years ago)
Author:
rjerant
Message:

Prevent interrupt handler form calling uniaud16 driver when not necessary

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GPL/branches/uniaud32-2.0/lib32/irq.c

    r352 r376  
    205205                                                   pSlot->irqHandlers[u].x2);
    206206#endif
     207
     208                // HDA Hardware generates controller interrupts and stream interrupts
     209                // the uniaud16 driver only cares about stream interrupts.
     210                // azx_process_interrupt will return rc 2 if the interttupt is from the
     211                // controller. There is no need to call uniaud16 for these interrupts
     212                if ( rc == 2 ) {
     213                    fInInterrupt = FALSE;
     214                    *pulIrq = pSlot->irqNo;
     215                    eoiIrq[pSlot->irqNo] = 0;
     216                    return TRUE;
     217                }
     218
    207219                if (rc == 1) eoi_irq(pSlot->irqNo);
    208220                rc = (eoiIrq[pSlot->irqNo] > 0);
Note: See TracChangeset for help on using the changeset viewer.