DWORD CSDHCBase::IST() { SETFNAME(_T("IST")); DEBUGMSG(SDCARD_ZONE_INIT, (TEXT("%s Thread Starting\n"), pszFname)); if (!CeSetThreadPriority(GetCurrentThread(), m_dwPriority)) { DEBUGMSG(SDCARD_ZONE_WARN, (TEXT("%s Failed to set CEThreadPriority\n"), pszFname)); } while (TRUE) { DEBUGCHK(m_hevInterrupt); DWORD dwWaitStatus = WaitForSingleObject(m_hevInterrupt, INFINITE); Validate(); //InterruptDone(m_dwSysIntr); RETAILMSG(0,(TEXT("CSDHCBase::IST() Event is signaled [SYSINT = %x].\n"),m_dwSysIntr)); if (WAIT_OBJECT_0 != dwWaitStatus) { DEBUGMSG(SDCARD_ZONE_WARN, (TEXT("%s Wait Failed! 0x%08X\n"), pszFname, dwWaitStatus)); // bail out break; } else if (m_fDriverShutdown) { break; } else { RETAILMSG(0,(TEXT("CSDHCBase::IST()\n"))); HandleInterrupt(); } } DEBUGMSG(SDCARD_ZONE_INIT, (TEXT("%s Thread Exiting\n"), pszFname)); return 0; }
void GPIO_EVEN_IRQHandler(void) { HandleInterrupt(kInterruptP1); }
void GPIO_ODD_IRQHandler(void) { HandleInterrupt(kInterruptP0); }