From: John Hodge Date: Wed, 18 Dec 2013 14:14:44 +0000 (+0800) Subject: Modules/EHCI - Add interrupt handling X-Git-Tag: rel0.15~60 X-Git-Url: https://git.ucc.asn.au/?a=commitdiff_plain;h=d2980f1dbb104d8714bd9abe2311c17315f694f0;p=tpg%2Facess2.git Modules/EHCI - Add interrupt handling --- diff --git a/KernelLand/Modules/USB/EHCI/ehci.c b/KernelLand/Modules/USB/EHCI/ehci.c index db1f3e37..2b3cf567 100644 --- a/KernelLand/Modules/USB/EHCI/ehci.c +++ b/KernelLand/Modules/USB/EHCI/ehci.c @@ -888,6 +888,8 @@ void EHCI_int_ReclaimQHs(tEHCI_Controller *Cont) LOG("Calling %p(%p) for EndPt %x (%p+0x%x)", qh->Impl.Callback, qh->Impl.CallbackData, qh->Impl.Endpt->EndpointID, last->Impl.Ptr, transferred_len); + //if( last->Impl.Ptr ) + // Debug_HexDump("EHCI Callback Data", last->Impl.Ptr, transferred_len); qh->Impl.Callback(qh->Impl.CallbackData, last->Impl.Ptr, transferred_len); } @@ -918,9 +920,8 @@ void EHCI_int_InterruptThread(void *ControllerPtr) if( events & EHCI_THREADEVENT_IOC ) { // IOC, handle completed requests - Log_Warning("EHCI", "%P IOC - TODO: Call registered callbacks and reclaim", - Cont->PhysBase); // Search periodic lists for one that fired + EHCI_int_CheckInterruptQHs(Cont); // Retire QHs // - Remove them from the queue and ask the controller to bell when they're removable EHCI_int_RetireQHs(Cont);