/* * \brief Handle Tx-Send-Pacing timeout. * * \param hTxDataQ - Module handle * \param bTwdInitOccured - Indicate if TWD restart (recovery) occured * \return void * * \par Description * Call the Tx scheduler to handle the queued packets. * * \sa */ static void txDataQ_TxSendPaceTimeout (TI_HANDLE hTxDataQ, TI_BOOL bTwdInitOccured) { TTxDataQ *pTxDataQ = (TTxDataQ *)hTxDataQ; pTxDataQ->uTxSendPaceTimeoutsCount++; txDataQ_RunScheduler (hTxDataQ); }
/** * \fn txDataQ_WakeAll * \brief Enable Data-Queue module access to Tx path. * * Called by the Tx-Port when the data-queue module can access the Tx path. * Clears the stop-all-queues indication and calls the scheduler. * * \note * \param hTxDataQ - The object * \return void * \sa txDataQ_StopAll */ void txDataQ_WakeAll (TI_HANDLE hTxDataQ) { TTxDataQ *pTxDataQ = (TTxDataQ *)hTxDataQ; /* Enable the data Tx port */ pTxDataQ->bDataPortEnable = TI_TRUE; /* Run the scheduler */ txDataQ_RunScheduler (hTxDataQ); }
/** * \fn txDataQ_UpdateBusyMap * \brief Set queue's busy indication * * This function is called by the txCtrl if the backpressure map per TID is changed. * This could be as a result of Tx-Complete, admission change or association. * The function modifies the internal queue's Busy indication and calls the scheduler. * * \note * \param hTxDataQ - The object * \param uTidBitMap - The changed TIDs busy bitmap * \return void * \sa txDataQ_StopQueue */ void txDataQ_UpdateBusyMap (TI_HANDLE hTxDataQ, TI_UINT32 tidBitMap) { TTxDataQ *pTxDataQ = (TTxDataQ *)hTxDataQ; /* Update the Queue(s) mode */ txDataQ_UpdateQueuesBusyState (pTxDataQ, tidBitMap); /* Run the scheduler */ txDataQ_RunScheduler (hTxDataQ); }
/** * \fn txDataQ_EnableLink * \brief Enable Data-Queue module access to Tx link. * * Called by the Tx-Port when the data-queue module can access the Tx link. * * \note * \param hTxDataQ - The object * \return void * \sa txDataQ_StopLink */ void txDataQ_EnableLink (TI_HANDLE hTxDataQ, TI_UINT32 uHlid) { TTxDataQ *pTxDataQ = (TTxDataQ *)hTxDataQ; TDataLinkQ *pLinkQ = &pTxDataQ->aDataLinkQ[uHlid]; pLinkQ->bEnabled = TI_TRUE; /* Run the scheduler */ txDataQ_RunScheduler (hTxDataQ); }
/** * \fn txDataQ_EnableLink * \brief Enable Data-Queue module access to Tx link. * * Called by the Tx-Port when the data-queue module can access the Tx link. * * \note * \param hTxDataQ - The object * \return void * \sa txDataQ_StopLink */ void txDataQ_EnableLink (TI_HANDLE hTxDataQ, TI_UINT32 uHlid) { TTxDataQ *pTxDataQ = (TTxDataQ *)hTxDataQ; TDataLinkQ *pLinkQ = &pTxDataQ->aDataLinkQ[uHlid]; pLinkQ->bEnabled = TI_TRUE; TRACE3(pTxDataQ->hReport, REPORT_SEVERITY_INFORMATION, "%s: link %d, bEnable %d\n", __FUNCTION__, uHlid, pLinkQ->bEnabled); /* Run the scheduler */ txDataQ_RunScheduler (hTxDataQ); }