Example #1
0
/*----------------------------------------------------------------------------*/
static BOOLEAN
cnmTimerSetTimer (
    IN P_ADAPTER_T prAdapter,
    IN OS_SYSTIME  rTimeout
    )
{
    P_ROOT_TIMER        prRootTimer;
    BOOLEAN             fgNeedWakeLock;

    ASSERT(prAdapter);

    prRootTimer = &prAdapter->rRootTimer;

    kalSetTimer(prAdapter->prGlueInfo, rTimeout);

    if (rTimeout <= SEC_TO_SYSTIME(WAKE_LOCK_MAX_TIME)) {
        fgNeedWakeLock = TRUE;

        if (!prRootTimer->fgWakeLocked) {
            KAL_WAKE_LOCK(prAdapter, &prRootTimer->rWakeLock);
            prRootTimer->fgWakeLocked = TRUE;
        }
    }
    else {
        fgNeedWakeLock = FALSE;
    }

    return fgNeedWakeLock;
}
Example #2
0
/*----------------------------------------------------------------------------*/
BOOL
timerSetTimer (
    IN P_ADAPTER_T prAdapter,
    IN OS_SYSTIME  rTimeout
    )
{
    ASSERT(prAdapter);

#if CFG_USE_SW_ROOT_TIMER

    return kalSetTimer(prAdapter->prGlueInfo, rTimeout);

#else
    /* milli-second to TU, and include the OS timer resolution */
    return nichtSetTimer(prAdapter,
                         WLAN_ROOT_TIMER,
                         HW_TIMER_MODE_ONE_SHOT,
                         HW_TIMER_FUNC_TSF_FREE_RUN,
                         TRUE,
                         HW_TIMER_UNIT_1_TU,
                         SYSTIME_TO_TU(rTimeout) + (MSEC_PER_SEC / KAL_HZ));
#endif
} /* end of kalSetTimer() */