Exemple #1
0
PRIVATE void 
ixTimeSyncAccCodeletMbufsFree ()
{
	UINT32 count;
	IX_OSAL_MBUF *mBufPtr;	
	UINT8 *dataPtr;

	/* free mBufs */
	for (count = 0; count < IX_TIMESYNCACC_CODELET_MAX_TS_CHANNELS; count++)
	{
		mBufPtr = ixTimeSyncAccCodeletGlobalMBuf[count];

		if (NULL != mBufPtr)
		{
			dataPtr = (UINT8 *) IX_OSAL_MBUF_MDATA (mBufPtr);	
			if (NULL != dataPtr)
			{
				IX_OSAL_CACHE_DMA_FREE (dataPtr);
			}
			IX_OSAL_CACHE_DMA_FREE (mBufPtr); 

			ixTimeSyncAccCodeletGlobalMBuf[count] = NULL;
		}
	}
	
} /* end of ixTimeSyncAccCodeletMbufsFree function */
Exemple #2
0
/**
 * @brief deallocates the NPE update areas for all the ports
 *
 * This function is called at component de-initialization time
 * by @ref ixEthDBUnload().
 *
 * @warning do not call manually
 *
 * @internal
 */
IX_ETH_DB_PUBLIC
void ixEthDBNPEUpdateAreasUnload(void)
{
    UINT32 portIndex;
    PortUpdateMethod *update;

    for (portIndex = 0 ; portIndex < IX_ETH_DB_NUMBER_OF_PORTS ; portIndex++)
    {
	 update = &ixEthDBPortInfo[portIndex].updateMethod;

        if (ixEthDBPortDefinitions[portIndex].type == IX_ETH_NPE)
        {
	    if (update->npeUpdateZone != NULL)
	    {
               IX_OSAL_CACHE_DMA_FREE(update->npeUpdateZone);
	    }
	    if (update->npeGwUpdateZone != NULL)
	    {
               IX_OSAL_CACHE_DMA_FREE(update->npeGwUpdateZone);
	    }
	    if (update->npeBssidUpdateZone != NULL)
	    {
	       IX_OSAL_CACHE_DMA_FREE(update->npeBssidUpdateZone);
	    }
	    if (update->vlanUpdateZone != NULL)
	    {
               IX_OSAL_CACHE_DMA_FREE(update->vlanUpdateZone);
	    }
        }
    }
}
Exemple #3
0
/**
 * @brief deallocates the NPE update areas for all the ports
 *
 * This function is called at component de-initialization time
 * by @ref ixEthDBUnload().
 *
 * @warning do not call manually
 *
 * @internal
 */
IX_ETH_DB_PUBLIC
void ixEthDBNPEUpdateAreasUnload(void)
{
    UINT32 portIndex;

    for (portIndex = 0 ; portIndex < IX_ETH_DB_NUMBER_OF_PORTS ; portIndex++)
    {
        if (ixEthDBPortDefinitions[portIndex].type == IX_ETH_NPE)
        {
            IX_OSAL_CACHE_DMA_FREE(ixEthDBPortInfo[portIndex].updateMethod.npeUpdateZone);
            IX_OSAL_CACHE_DMA_FREE(ixEthDBPortInfo[portIndex].updateMethod.npeGwUpdateZone);
            IX_OSAL_CACHE_DMA_FREE(ixEthDBPortInfo[portIndex].updateMethod.vlanUpdateZone);
        }
    }
}
Exemple #4
0
/*
 * Function definition: ixOsalBuffPoolUninit
 */
PUBLIC IX_STATUS
ixOsalBuffPoolUninit (IX_OSAL_MBUF_POOL * pool)
{
    if (!pool)
    {
        ixOsalLog (IX_OSAL_LOG_LVL_ERROR, IX_OSAL_LOG_DEV_STDOUT,
            "ixOsalBuffPoolUninit: NULL ptr \n", 0, 0, 0, 0, 0, 0);
        return IX_FAIL;
    }

    if (pool->freeBufsInPool != pool->totalBufsInPool)
    {
        ixOsalLog (IX_OSAL_LOG_LVL_ERROR, IX_OSAL_LOG_DEV_STDOUT,
            "ixOsalBuffPoolUninit: need to return all ptrs to the pool first! \n",
            0, 0, 0, 0, 0, 0);
        return IX_FAIL;
    }

    if (pool->poolAllocType == IX_OSAL_MBUF_POOL_TYPE_SYS_ALLOC)
    {
#ifdef IX_OSAL_BUFFER_ALLOC_SEPARATELY
				UINT32 i;
				IX_OSAL_MBUF* pBuf;
				
				pBuf = pool->nextFreeBuf;
				/* Freed the Buffer one by one till all the Memory is freed*/
				for (i= pool->freeBufsInPool; i >0 && pBuf!=NULL ;i--){
						IX_OSAL_MBUF* pBufTemp;
						pBufTemp = IX_OSAL_MBUF_NEXT_BUFFER_IN_PKT_PTR(pBuf);
						/* Freed MBUF Data Memory area*/
						IX_OSAL_CACHE_DMA_FREE( (void *) (IX_OSAL_MBUF_ALLOCATED_BUFF_DATA(pBuf)) );
						/* Freed MBUF Struct Memory area*/
						IX_OSAL_CACHE_DMA_FREE(pBuf);
						pBuf = pBufTemp;
				}
				
#else    	
        IX_OSAL_CACHE_DMA_FREE (pool->mbufMemPtr);
        IX_OSAL_CACHE_DMA_FREE (pool->dataMemPtr);
#endif        
    }

    ixOsalBuffFreePools[pool->poolIdx / IX_OSAL_BUFF_FREE_BITS] &=
        ~(1 << (pool->poolIdx % IX_OSAL_BUFF_FREE_BITS));
    ixOsalBuffPoolsInUse--;
    return IX_SUCCESS;
}
Exemple #5
0
/* DescMgmt Uninitialisation */
IX_STATUS
ixAtmdAccDescMgmtUninit (void)
{
    IX_STATUS returnStatus = IX_FAIL;

    if (initDone)
    {

		descPointer -= (NPE_ADDR_ALIGN - 1);
        /* de-allocate the buffer containing all elements */
        IX_OSAL_CACHE_DMA_FREE(descPointer);
        IxAtmdDmaDescPointer = NULL;

        returnStatus = ixOsalMutexDestroy (&descMgmtLock);

        if (IX_SUCCESS == returnStatus)
        {  /*uninitialisation complete */
            initDone = FALSE;
        }
    } /* end of if(initDone) */
    return returnStatus;
}