| 532 | } |
| 533 | |
| 534 | static void TCIntrruptHandler(__OSInterrupt interrupt, OSContext* context) |
| 535 | { |
| 536 | OSContext exceptionContext; |
| 537 | s32 chan; |
| 538 | EXIControl* exi; |
| 539 | EXICallback callback; |
| 540 | |
| 541 | chan = (interrupt - __OS_INTERRUPT_EXI_0_TC) / 3; |
| 542 | exi = &Ecb[chan]; |
| 543 | __OSMaskInterrupts(OS_INTERRUPTMASK(interrupt)); |
| 544 | EXIClearInterrupts(chan, FALSE, TRUE, FALSE); |
| 545 | callback = exi->tcCallback; |
| 546 | if (callback) |
| 547 | { |
| 548 | exi->tcCallback = 0; |
| 549 | CompleteTransfer(chan); |
| 550 | |
| 551 | OSClearContext(&exceptionContext); |
| 552 | OSSetCurrentContext(&exceptionContext); |
| 553 | |
| 554 | callback(chan, context); |
| 555 | |
| 556 | OSClearContext(&exceptionContext); |
| 557 | OSSetCurrentContext(context); |
| 558 | } |
| 559 | } |
| 560 | |
| 561 | static void EXTIntrruptHandler(__OSInterrupt interrupt, OSContext* context) |
| 562 | { |
nothing calls this directly
no test coverage detected