Esempio n. 1
0
/*----------------------------------------------------------------------------*/
VOID
cnmTimerDestroy (
    IN P_ADAPTER_T prAdapter
    )
{
    P_ROOT_TIMER    prRootTimer;
    KAL_SPIN_LOCK_DECLARATION();

    ASSERT(prAdapter);

    prRootTimer = &prAdapter->rRootTimer;

    if (prRootTimer->fgWakeLocked) {
        KAL_WAKE_UNLOCK(prAdapter, &prRootTimer->rWakeLock);
        prRootTimer->fgWakeLocked = FALSE;
    }
    KAL_WAKE_LOCK_DESTROY(prAdapter, &prRootTimer->rWakeLock);

    KAL_ACQUIRE_SPIN_LOCK(prAdapter, SPIN_LOCK_TIMER);
    LINK_INITIALIZE(&prRootTimer->rLinkHead);
    KAL_RELEASE_SPIN_LOCK(prAdapter, SPIN_LOCK_TIMER);

    /* Note: glue layer will be responsible for timer destruction */

    return;
}
Esempio n. 2
0
/*----------------------------------------------------------------------------*/
VOID
staRecInitialize (
    IN P_ADAPTER_T prAdapter
    )
{
    P_STA_INFO_T prStaInfo;
    PUINT_8 pucMemHandle;
    P_STA_RECORD_T prStaRec;
    UINT_32 i;


    ASSERT(prAdapter);
    prStaInfo = &prAdapter->rStaInfo;

    //4 <0> Clear allocated memory.
    kalMemZero((PVOID) prStaInfo->pucStaRecCached, prStaInfo->u4StaRecCachedSize);

    ASSERT(IS_ALIGN_4((UINT_32)prStaInfo->pucStaRecCached));

    pucMemHandle = prStaInfo->pucStaRecCached;

    LINK_INITIALIZE(&prStaInfo->rFreeStaRecList);

    for (i = 0; i < CFG_MAX_NUM_STA_RECORD; i++) {

        prStaRec = (P_STA_RECORD_T)pucMemHandle;

        STA_RECORD_SET_GUID(prStaRec);

        LINK_INSERT_TAIL(&prStaInfo->rFreeStaRecList, &prStaRec->rLinkEntry);

        pucMemHandle += ALIGN_4(sizeof(STA_RECORD_T));
    }

    /* Check if the memory allocation consist with this initialization function */
    ASSERT((UINT_32)(pucMemHandle - prStaInfo->pucStaRecCached) == prStaInfo->u4StaRecCachedSize);

    for (i = 0; i < STA_RECORD_HASH_NUM; i++) {
        LINK_INITIALIZE(&prStaInfo->arValidStaRecList[i]);
    }

    prStaInfo->ucValidStaRecNum = 0;

    return;
} /* end of staRecInitialize() */
Esempio n. 3
0
/*----------------------------------------------------------------------------*/
VOID mboxSetup(IN P_ADAPTER_T prAdapter, IN ENUM_MBOX_ID_T eMboxId)
{
	P_MBOX_T prMbox;
	KAL_SPIN_LOCK_DECLARATION();

	ASSERT(eMboxId < MBOX_ID_TOTAL_NUM);
	ASSERT(prAdapter);

	prMbox = &(prAdapter->arMbox[eMboxId]);

	KAL_ACQUIRE_SPIN_LOCK(prAdapter, SPIN_LOCK_MAILBOX);
	LINK_INITIALIZE(&prMbox->rLinkHead);
	KAL_RELEASE_SPIN_LOCK(prAdapter, SPIN_LOCK_MAILBOX);
}
/*----------------------------------------------------------------------------*/
VOID cnmTimerInitialize(IN P_ADAPTER_T prAdapter)
{
	P_ROOT_TIMER prRootTimer;

	KAL_SPIN_LOCK_DECLARATION();

	ASSERT(prAdapter);

	prRootTimer = &prAdapter->rRootTimer;

	/* Note: glue layer have configured timer */

	KAL_ACQUIRE_SPIN_LOCK(prAdapter, SPIN_LOCK_TIMER);
	LINK_INITIALIZE(&prRootTimer->rLinkHead);
	KAL_RELEASE_SPIN_LOCK(prAdapter, SPIN_LOCK_TIMER);

	KAL_WAKE_LOCK_INIT(prAdapter, &prRootTimer->rWakeLock, "WLAN Timer");
	prRootTimer->fgWakeLocked = FALSE;
}
Esempio n. 5
0
/*----------------------------------------------------------------------------*/
VOID
timerInitialize (
    IN P_ADAPTER_T          prAdapter,
    IN PFN_TIMER_CALLBACK   prfnTimerHandler
    )
{
    ASSERT(prAdapter);
    ASSERT(prfnTimerHandler);

    LINK_INITIALIZE(&prAdapter->rTimerList);

#if CFG_USE_SW_ROOT_TIMER
    kalOsTimerInitialize(prAdapter->prGlueInfo, (PVOID)prfnTimerHandler);
#else
    nichtTimerInit(prAdapter, WLAN_ROOT_TIMER, prfnTimerHandler);

    NIC_SET_INT_EVENT(prAdapter, WLAN_ROOT_TIMER_INT);
#endif

    return;
} /* end of timerInitialize() */
Esempio n. 6
0
/*----------------------------------------------------------------------------*/
VOID
timerUnInitialize (
    IN P_ADAPTER_T  prAdapter
    )
{
    ASSERT(prAdapter);

    LINK_INITIALIZE(&prAdapter->rTimerList);

#if CFG_USE_SW_ROOT_TIMER
    /* <TODO> to reclaim the resource */

#else
    nichtCancelTimer(prAdapter, WLAN_ROOT_TIMER);

    NIC_UNSET_INT_EVENT(prAdapter, WLAN_ROOT_TIMER_INT);

    nichtKillTimer(prAdapter, WLAN_ROOT_TIMER);
#endif

    return;
} /* end of timerInitialize() */