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 */
/** * @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); } } } }
/** * @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); } } }
/* * 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; }
/* 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; }