/*
 * \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);
}
Beispiel #4
0
/**
 * \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);
}
Beispiel #5
0
/** 
 * \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);
}